目前我的 tomcat 以 root 身份运行,因为它确实绑定到端口 80。
我确实想在 tomcat 中以非 root 用户身份运行 hudson。我该怎么做?
我正在寻找一种不需要在 tomcat 上添加 apache 代理的解决方案。
答案1
嗯,只有 root 可以绑定到端口 le 1024。绑定到超级用户端口后,可能没有在 java/jvm 中删除特权的机制,否则现在在 tomcat 中就会这样做。我和其他人所做的是让 tomcat 监听非特权端口,并使用防火墙规则将端口 80 流量转发到该端口。
答案2
您可以使用 iptables 将端口 80 转发到 8080 或任何其他端口,如下所示:
iptables -t nat -A PREROUTING -p tcp -d second_ip --dport 80 -j REDIRECT --to-port 8080
这是一个更通用的,但如果您只有一个 IP,请删除目标 IP(-d second_ip)。