Est-ce une mauvaise pratique d'exécuter un serveur d'applications Web directement sur le port 80/443

8

J'héberge une application web sur amazon aws , en utilisant une instance ec2.

Sur cette instance, je n'exécuterai qu'une seule application. en utilisant glassfish v3.0.1

Je ne souhaite pas exécuter l'application en utilisant:

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

Je veux juste utiliser:

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

j'ai donc changé http-listener-1 et http-listener-2 sur glassfish pour qu'il s'exécute sur les ports (respectivement) 80 et 443 .

Est-ce considéré comme une mauvaise pratique? je suis un ingénieur logiciel et je ne m'occupe généralement pas des trucs d'administration de serveur donc pas trop expérimenté dans ces choses.

merci pour tout conseil.

shadesco
la source
Ne liez pas un service d'application Web directement au port 80 ou 443. Cela implique que vous exécutez un service accessible au public en tant que root, ce qui n'est jamais une bonne idée.
Skyhawk

Réponses:

13

Vous pouvez le faire, mais vous allez d'abord rencontrer des problèmes de performances et des problèmes de sécurité.

Avoir un serveur Web hautes performances "normal" répondant sur le port 80/443 et envoyer des requêtes par procuration à votre serveur d'applications est la façon dont les choses se font généralement. Le serveur "normal" peut gérer des choses comme les images statiques, JavaScript et CSS beaucoup plus facilement que GlassFish, améliorant ainsi les performances. Il aura également de nombreuses options pour le contrôle d'accès, la mise en cache, etc.

Internet regorge d'exemples de configurations pour configurer un serveur Web (par exemple nginx ou Apache) devant GlassFish, Jetty, Tomcat ou tout autre serveur d'application que vous souhaitez utiliser. Selon l'EC2 AMI que vous utilisez, l'un de ces serveurs Web peut déjà être préconfiguré et prêt à fonctionner.

Michael Hampton
la source
3
+1 pour éclairer les avantages d'une porte d'entrée dédiée. Ajoutons: des améliorations progressives, l'équilibrage de charge, et en particulier avec AWS la gamme complète de jouets: Elastic Load Balancer, Elastic Beanstalk, CloudFront, etc.
khoxsey