直接在端口80/443上运行Web应用程序服务器是一种不好的做法


8

我正在使用ec2实例Amazon aws上托管Web应用程序

在那种情况下,我将只运行一个应用程序。使用glassfish v3.0.1

我不想使用来运行该应用程序:

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

我只想使用:

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

所以我将glassfish上的http-listener-1http-listener-2更改为分别在端口80443上运行

这被认为是不良做法吗?我是一名软件工程师,我通常不处理服务器管理人员,因此在这些方面经验不足。

感谢您的指导。


不要将Web应用程序服务直接绑定到端口80或443。这样做意味着您正在以方式运行面向公众的服务root,这绝不是一个好主意。
天鹰

Answers:


13

可以做到,但是首先会遇到性能问题,其次是安全问题。

通常,通常是通过在端口80/443上具有“正常”高性能Web服务器来应答并向您的应用服务器代理请求。“普通”服务器比GlassFish更容易处理静态图像,JavaScript和CSS之类的东西,从而提高了性能。它还将具有用于访问控制,缓存等的众多选项。

Internet上充满了用于在GlassFish,Jetty,Tomcat或您要使用的任何应用程序服务器之前设置Web服务器(例如nginx或Apache)的示例配置。根据您使用的EC2 AMI,这些Web服务器之一可能已经预先配置好并可以使用。


3
+1用于说明专用前门的优点。让我们添加:滚动升级,负载均衡,特别是与AWS玩具的全套:弹性负载均衡,弹性魔豆,CloudFront的,等等
khoxsey
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.