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

我正在使用ec2实例在amazon aws上托pipe一个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上运行

这被认为是不好的做法? 我是一名软件工程师,而且我通常不会处理服务器pipe理员,因此在这些方面经验不足。

感谢您的任何指导。

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

有一个“正常”高性能的Web服务器端口80/443应答和代理到您的应用服务器的请求是事情通常完成的方式。 “正常”的服务器比GlassFish更容易处理像静态图像,JavaScript和CSS的东西,提高性能。 它也将有无数的访问控制,caching等选项。

互联网上充满了用于在GlassFish,Jetty,Tomcat或任何您想使用的应用程序服务器之前设置Web服务器(例如nginx或Apache)的示例configuration。 取决于您使用哪个EC2 AMI,这些Web服务器中的一个可能已经预先configuration并准备就绪。