¿Es una mala práctica ejecutar un servidor de aplicaciones web directamente en el puerto 80/443

8

Estoy alojando una aplicación web en Amazon AWS , usando una instancia ec2.

En esa instancia, solo ejecutaré una aplicación. utilizando glassfish v3.0.1

No quiero ejecutar la aplicación usando:

www.mydomain.com:8080 or www.mydomain.com:8181 

Solo quiero usar:

www.mydomain.com or https://www.mydomain.com

Así que cambié http-listener-1 y http-listener-2 en glassfish para que se ejecute en los puertos (respectivamente) 80 y 443 .

¿Se considera esto una mala práctica? Soy un ingeniero de software y generalmente no trato con el administrador del servidor, por lo tanto, no tengo mucha experiencia en esas cosas.

Gracias por cualquier orientación.

Shadesco
fuente
No enlace un servicio de aplicación web directamente al puerto 80 o 443. Hacerlo implica que está ejecutando un servicio público root, lo cual nunca es una buena idea.
Skyhawk

Respuestas:

13

Usted podría hacerlo, pero usted va a tener problemas de rendimiento en primer lugar, y los problemas de seguridad por segundo.

Tener un servidor web de alto rendimiento "normal" respondiendo en el puerto 80/443 y enviando solicitudes a su servidor de aplicaciones es la forma en que generalmente se hacen las cosas. El servidor "normal" puede manejar cosas como imágenes estáticas, JavaScript y CSS mucho más fácilmente que GlassFish, mejorando el rendimiento. También tendrá numerosas opciones para control de acceso, almacenamiento en caché, etc.

Internet está lleno de configuraciones de muestra para configurar un servidor web (por ejemplo, nginx o Apache) frente a GlassFish, Jetty, Tomcat o cualquier servidor de aplicaciones que desee utilizar. Dependiendo de la AMI EC2 que use, uno de estos servidores web ya puede estar preconfigurado y listo para funcionar.

Michael Hampton
fuente
3
+1 para iluminar los beneficios de una puerta principal dedicada. Agreguemos: actualizaciones continuas, equilibrio de carga, y particularmente con AWS el conjunto completo de juguetes: Elastic Load Balancer, Elastic Beanstalk, CloudFront, etc.
khoxsey