此问题与使用 HTTPS 配置但没有 HTTP 连接器的 tomcat 有关。
我在 server.xml 中有这个 SSL 连接器,我在 Eclipse 中的 tomcat 总是显示正在启动:
<Connector SSLEnabled="true" asyncTimeout="10000000" clientAuth="false"
connectionTimeout="10000000" keepAliveTimeout="10000000"
keystoreFile="/opt/config/selfsigned.p12" keystorePass="changeit"
keystoreType="PKCS12" maxThreads="200" port="443"
protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https"
secure="true" sslProtocol="TLS"/>
我想 Eclipse 使用与服务器的 HTTP 连接来验证 Tomcat 实例是否可用。
我已经解决了这个问题,包括在 server.xml 中重定向到 HTTPS 的附加 HTTP 连接器。
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1"
redirectPort="443"/>
<Connector SSLEnabled="true" asyncTimeout="10000000" clientAuth="false"
connectionTimeout="10000000" keepAliveTimeout="10000000"
keystoreFile="/opt/config/selfsigned.p12" keystorePass="changeit"
keystoreType="PKCS12" maxThreads="200" port="443"
protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https"
secure="true" sslProtocol="TLS"/>
通过此更改,我在 Eclipse 中的 tomcat 开始正确显示调试状态。