【发布时间】:2021-02-24 04:11:34
【问题描述】:
你好 Stack Overflow 社区,
我第一次尝试(感觉像一百次)使用 Let's Encrypt 将 SSL 安装到 Tomcat9 并开始强劲(至少我相信如此),然后陷入了无限循环能够解决一个问题。所以在这里我恳求更有经验的人希望找到解决我问题的方法。
在我的 SSL 安装的最后步骤中,我去检查它是否在 [https://ex.example.com:8443] 工作,但是我收到了以下错误:[ERR_SSL_PROTOCOL_ERROR]。我在网上对此进行了一段时间的研究,发现论坛上有人说他们的网站正在使用 http 而不是 https,所以我试图在我的网站上查看它是否相同。我输入了 URL [http://ex.example.com:8443],它成功了!我认为从这里出发会很清楚,因为我肯定能够在网上找到一个简单的解决方案,但是令我沮丧的是,事实并非如此。我发现了一个 9 年前的结果,有人在他的 <connector> 中添加了一些东西到他的 server.xml 以解决类似的问题。我尝试做同样的事情,但是当我尝试启动它时,我的 Tomcat 一直在崩溃,所以我将其缩小到以下内容:sslProtocol="TLS"。我还发现其他人编辑了他们的web.xml 以将所有内容重定向到 https(除了一些东西),所以我添加了它(可以在下面找到)。我又在谷歌上搜索了几个小时,现在我在这里询问任何可能知道我应该如何寻求帮助的人。
server.xml
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"
maxThreads="150" SSLEnabled="true" scheme="https">
<SSLHostConfig>
<Certificate certificateFile="conf/cert.pem"
certificateKeyFile="conf/privkey.pem"
certificateChainFile="conf/chain.pem" />
</SSLHostConfig>
</Connector>
web.xml
<security-constraint>
<web-resource-collection>
<web-resource-name>HTTPSOnly</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>HTTPSOrHTTP</web-resource-name>
<url-pattern>*.ico</url-pattern>
<url-pattern>/img/*</url-pattern>
<url-pattern>/css/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
【问题讨论】:
标签: ssl lets-encrypt tomcat9