我目前正在尝试使用 Tomcat 设置我的第一个 V-Server (CentOS 7) 来运行 Web-App。
现在一切正常,但我面临的最后一个问题阻止我发布它:
我只能通过访问我的 Tomcat WebApp,exampledomain.com:8080/WebAppName/
但我希望它只是exampledomain.com/WebAppName/
.
下班后(字面意思是 20 小时)我还没有想出解决方案,但让用户始终输入8080
不是我的选择。
如果有人为我提供解决方案或提示,我将非常高兴。
提前致谢!
为了完整起见,在大多数系统上,您可以直接在端口上运行 Tomcat
80
(作为几乎没有特权的用户)。它需要的唯一特权是CAP_NET_BIND_SERVICE
能力。这可以通过两方面来完成:
[这需要SystemD v229 或更高版本,因此它不包括 Centos 7 ] 通过要求SystemD运行具有此功能的 Tomcat:
并添加:
到该
[Service]
部分。CAP_NET_BIND_SERVICE
功能:例如,您可以将 Tomcat 配置为只能绑定端口80
。您应该在 Tomcat 前面添加一个反向代理。您应该将 Tomcat 更改为仅侦听 127.0.0.1 或关闭防火墙中端口 8080 的访问。
您可以使用的两个软件示例是 Apache 和 nginx。使用 Apache,您可以这样使用 ProxyPass 和 ProxyPassReverse:
使用 nginx 会是