谁能告诉我 tomcat 9 中的 server.xml 中的 AUTOBIND 在哪里,如所附答案中所述

could anyone please tell me where is AUTOBIND in server.xml in tomcat 9 as mentioned in attached answer

Why does Tomcat work with port 8080 but not 80?

此答案仅适用于 Tomcat 9... 7 和 8 已在互联网上得到很好的记录。

您不能使用端口 80,因为 1024 以下的端口在 Linux 中仅限于 root 访问,除非您使用 authbind 覆盖该限制。

我在使用 Ubuntu LTS 20.04、Tomcat 9.0.40 时遇到了同样的问题,这是我必须做的修复工作。在特定情况之外我不做任何承诺。

这假定您正在使用 systemctl 来启动和停止您的 Tomcat 服务器。如果您 运行 在 Docker 容器或 Hyper-V VS 中,那不太可能,并且这些说明不会完全适合您的情况,但它们应该足够接近以帮助您通过。另外,我不会输入 sudo 100 次...如果您有 root 访问权限,如果没有,请在所有内容前加上 sudo。

安装 AUTHBIND

apt-get install authbind

为您设置 AUTHBIND tomcat 系统用户

touch /etc/authbind/byport/80
chown tomcat: /etc/authbind/byport/80
chmod 500 /etc/authbind/byport/80

修改 systemctl 以在启动 tomcat

时使用 AUTHBIND
vi /etc/systemd/system/tomcat.service
change --> ExecStart=/opt/tomcat/bin/startup.sh
to     --> ExecStart=authbind --deep /opt/tomcat/bin/startup.sh

重新加载 systemctl 守护程序以使用新设置

systemctl daemon-reload

编辑 tomcat 服务器配置以设置端口 80

vi /opt/tomcat/conf/server.xml
change --> <Connector port="8080"...
to     --> <Connector port="80"...

重启tomcat

systemctl restart tomcat

祝你好运。