【问题标题】:could anyone please tell me where is AUTOBIND in server.xml in tomcat 9 as mentioned in attached answer谁能告诉我tomcat 9中server.xml中的AUTOBIND在哪里,如附件答案中所述
【发布时间】:2023-09-09 15:36:01
【问题描述】:

【问题讨论】:

    标签: ubuntu tomcat deployment port tomcat9


    【解决方案1】:

    此答案仅适用于 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
    

    为你的tomcat系统用户设置AUTHBIND

    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
    

    祝你好运。

    【讨论】:

      最近更新 更多