É uma má prática executar um servidor de aplicativos da web diretamente na porta 80/443

8

Estou hospedando um aplicativo da web no amazon aws , usando uma instância ec2.

Nesse caso, estarei executando apenas um aplicativo. usando glassfish v3.0.1

Não quero executar o aplicativo usando:

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

Eu só quero usar:

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

então eu mudei o http-listener-1 e http-listener-2 no glassfish para rodar nas portas (respectivamente) 80 e 443 .

Isso é considerado má prática? Sou engenheiro de software e geralmente não lida com assuntos de administração de servidor, portanto, não tenho muita experiência nessas coisas.

obrigado por qualquer orientação.

shadesco
fonte
Não vincule um serviço de aplicativo da web diretamente à porta 80 ou 443. Isso implica que você esteja executando um serviço voltado ao público como root, o que nunca é uma boa idéia.
Skyhawk

Respostas:

13

Você poderia fazê-lo, mas terá problemas de desempenho primeiro e problemas de segurança depois.

Ter um servidor Web de alto desempenho "normal" atendendo na porta 80/443 e solicitando proxies ao servidor de aplicativos é a maneira como as coisas geralmente são feitas. O servidor "normal" pode lidar com coisas como imagens estáticas, JavaScript e CSS com muito mais facilidade do que o GlassFish, melhorando o desempenho. Também terá inúmeras opções para controle de acesso, cache, etc.

A Internet está cheia de configurações de amostra para configurar um servidor da Web (por exemplo, nginx ou Apache) na frente do GlassFish, Jetty, Tomcat ou qualquer servidor de aplicativos que você deseja usar. Dependendo de qual AMI do EC2 você usar, um desses servidores da Web já pode estar pré-configurado e pronto para uso.

Michael Hampton
fonte
3
+1 para iluminar os benefícios de uma porta frontal dedicada. Vamos add: atualizações sem interrupção, de balanceamento de carga e, particularmente, com a AWS o conjunto completo de brinquedos: Elastic Load Balancer, Elastic Beanstalk, CloudFront, etc.
khoxsey