不幸的是,Tomcat 对 authbind 的使用没有记录,这使得在不以 root 身份运行时将 Tomcat 9 绑定到端口 80 是一个挑战。我在 Ubuntu 16.04 上尝试了以下操作:
1) 在 server.xml 中,将 <Connector> 中的属性端口更改为 80。
2)安装authbind。
3) 将 AUTHBIND=yes 添加到 setenv.sh
4) 创建文件 /etc/authbind/byport/80 具有 777 权限和所有者 tomcat。
如果我startup.sh以 root 身份运行,它工作正常。但是,如果我以非特权用户“tomcat”的身份执行此操作,脚本将显示“Tomcat 已启动”且没有错误消息。但是浏览器显示“无法连接”。
如果我运行authbind startup.sh,结果是一样的。启动脚本中缺少错误消息使我对问题的原因一无所知。
可能的相关信息:tomcat 是从 zip 文件安装的,而不是从 repo 安装的。
关于使这项工作起作用的技巧,我还有什么其他的事情吗?这在官方文档中严重缺失。
tomcat ×1