我已经从这里安装了 Tomcat 9来源。刚刚下载了压缩文件文件并将其提取出来。
然后我进入 ../conf/server.xml 文件将端口从 8080 更改为 80。
问题:
在将端口从 8080 链接到 80 之前,我可以连接http://192.168.xx:8080在我的浏览器中。但是端口 80,iphttp://192.168.xx:80,我不能。
我该如何配置 Tomcat 9,以便其他计算机可以访问它?我肯定漏掉了什么?
答案1
1024 以下的端口只能由 root 开放。
您可以做以下三件事之一:
选项 1 - 以 root 身份运行 tomcat
$ sudo sh startup.sh
选项 2 - 使用 iptables 将端口 80 重定向到另一个端口
使用此选项,您可以让 Tomcat 在 1024 以上的端口上运行,并iptables
使用向前该端口为 Tomcat。(例如 80 -> 8080)
$ sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
选项 3 - 将权限升级到 Java 应用程序
任何一个:
更改 CAP_NET_BIND_SERVICE,例如
`$ sudo setcap CAP_NET_BIND_SERVICE=+eip /path/to/java`
警告这将使所有 Java 应用程序能够打开低于 1024 的端口。
或者使用 authbind
$ sudo apt install authbind
$ sudo touch /etc/authbind/byport/80
$ sudo chmod 777 /etc/authbind/byport/80