我有一台运行CentOS 7和TomCat 8的机器作为Java appl的webapp服务器。 我需要TomCat来监听默认端口80。 现在,我可以通过http://example.com:8080访问我的网站 这就是我所做的。 我的TomCat作为服务运行,用户特别为其创建,没有root权限。 在server.xml中,我添加了以下内容:
<Host name="example.com" appBase="example" unpackWARs="true" autoDeploy="true">
<Alias>www.example.com</Alias>
<Context path="" docBase="example" debug="0" privileged="true" />
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" resolveHosts="false" />
</Host>
摆脱了恼人的http://example.com:8080/ expamle 。 现在我需要摆脱端口8080,以便我可以通过www.example.com访问它。我知道问题以及解决问题的几种方法。 Linux无法绑定到没有root权限的端口&lt; 1024。你可以使用authbind,但它似乎只适用于Ubuntu。有一些与CentOS一起使用的等价物,但我宁愿不使用它们。此外,我可以将Apache放在TomCat前作为代理服务器,但如果没有别的帮助,那就让它成为最终的解决方案。我也可以将请求从端口80重定向到8080,但用户可以在url中看到端口nr。你知道还有其他解决方案吗?知道这将是非常有帮助的。否则我想我会坚持使用Apache代理服务器计划。 谢谢。
可能重复的问题包含与基于Linux Debian的系统相关的所有答案。我运行CentOS,所以我不能这样做。