允许非 root 用户使用端口 443 运行 tomcat

Enabling non root user to run tomcat with port 443

我正在尝试 运行 tomcat 作为非根用户使用 https。配置 server.xml 所需的端口修改并添加 SSL 配置。

然而,当我执行 sudo systemctl restart tomcat 时,在 catalina.out

中出现以下错误
 org.apache.coyote.AbstractProtocol.init Failed to initialize end point associated with ProtocolHandler ["https-jsse-nio-443"]
      java.net.SocketException: Permission denied
       at sun.nio.ch.Net.bind0(Native Method)
       at sun.nio.ch.Net.bind(Net.java:433)
       at sun.nio.ch.Net.bind(Net.java:425)

关注thispost

解决点 5 效果更好

# setcap cap_net_bind_service+ep /path/to/bin/java