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

cco*_*cot 9 performance glassfish port domain-name

我正在使用ec2 实例amazon aws上托管一个网络应用程序

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

我不想使用以下方式运行应用程序:

www.mydomain.com:8080 or www.mydomain.com:8181 
Run Code Online (Sandbox Code Playgroud)

我只想使用:

www.mydomain.com or https://www.mydomain.com
Run Code Online (Sandbox Code Playgroud)

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

这被认为是不好的做法吗?我是一名软件工程师,我通常不处理服务器管理方面的事情,因此在这些方面没有太多经验。

感谢您的指导。

Mic*_*ton 14

可以这样做,但是您首先会遇到性能问题,然后会遇到安全问题。

拥有一个“正常”的高性能 Web 服务器在端口 80/443 上应答并将请求代理到您的应用程序服务器是通常完成的方式。“普通”服务器可以比 GlassFish 更轻松地处理静态图像、JavaScript 和 CSS 等内容,从而提高性能。它还具有许多用于访问控制、缓存等的选项。

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

  • +1 用于说明专用前门的好处。让我们添加:滚动升级、负载平衡,尤其是 AWS 的全套玩具:Elastic Load Balancer、Elastic Beanstalk、CloudFront 等。 (3认同)