我有一个Tomcat 9.0.36在Ubuntu18.04.4LTS(虚拟机)机器上运行。我正在尝试将其配置为使用从CA获得的证书。我使用keytool成功地生成了keystore文件,并尝试配置Tomcat来侦听端口8443上的https流量。
Server.xms中的相关字段:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8443" protocol="HTTP/1.1" maxThreads="100"
scheme="https" secure="true"
SSLEnabled="true"
clientAuth="false"
sslProtocol="TLS"
keyAlias="correctAlias"
keystoreFile="/usr/lib/jvm/jdk-12.0.2/lib/security/keystorefile.jks"
keystorePass="correctPassWord" />我尝试过两个端口的多个配置(不管有没有redirectPort=.,注释掉了另一个端口等等),最终结果是一样的。在端口8080上,一切正常(当连接器启用时),但在8443上,结果是:
This site can’t be reached {my ip} took too long to respond. netstat -plnt给出了如下内容:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 22748/java
tcp 0 0 0.0.0.0:8443 0.0.0.0:* LISTEN 22748/java
...所以我假设有一些东西阻止了服务器的响应,因为catalina.out没有给出任何错误,只是提供了启动信息,而http-nio-8080和http-jsse-nio-8443已经启动,而且一切似乎都在运行。
我的目标是最终的结果是,所有的东西都重定向到https协议,而且没有什么是未加密的。
发布于 2020-07-06 10:00:52
确保您的IP地址允许或打开端口(8443)。
这样,这种联系就可以从外部世界延伸开来。
发布于 2020-07-06 10:36:16
在我们的网络中似乎发生了一些有趣的事情,所以我最终使用
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8443这似乎很管用。最后,这就是我所追求的,所以我设法同时解决了两个问题。
https://serverfault.com/questions/1024152
复制相似问题