Tomcat 7.0.55 APR连接器8443工作但更改为443没有

时间:2017-04-23 19:52:42

标签: tomcat tomcat7 jira confluence lets-encrypt

我有多台Digital Ocean服务器,我使用HTTPS和Letsencrypt证书运行Confluence。我也为JIRA提供了一个Debian 8服务器,并为此服务器执行了Apache Portable Runtime Native Tomcat的HTTPS,就像我为Confluence一样,但是使用了很多配置失败了。

我使用的是Tomcat 7.0.55和Java 1.8.0_51(Tomcat和JIRA的JRE)。我目前正在使用fullchain_and_key.p12(PKCS12)作为server.xml中SSL / HTTPS连接器的证书和私钥。我有一个8080连接器,重定向到SSL / HTTPS连接器。我可以使用8443为SSL / TLS连接器运行此操作。我将端口从8443更改为443,它永远不会工作。

我可以使用8080和8443进行telnet检查。当我尝试使用443端口作为SSL / TLS连接器时,我无法进行。对于DigitalOcean服务器,Iptables默认是大开的,我已在所有服务器上验证了这一点。而且,我今天可以使用443 telnet-check到Confluence服务器。

我没有排除故障排除选项。有人可以帮忙吗?

由于

1 个答案:

答案 0 :(得分:0)

我想出来了。端口80和443是特权的,即只有root拥有的进程才能访问它们。我在iptables中添加了以下内容来解决此问题。由于我这么便宜,我选择不使用代理服务器(省钱)。 Iptables可以像这样提供端口访问和端口转发:

 sudo iptables -I INPUT 1 -p tcp --dport 8443 -j ACCEPT
 sudo iptables -I INPUT 1 -p tcp --dport 8080 -j ACCEPT
 sudo iptables -I INPUT 1 -p tcp --dport 443 -j ACCEPT
 sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT

然后我将特权端口转发到Tomcat端口:

 sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
 sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8443