为Tomcat 8中的应用程序同时启用HTTP和HTTPS
我在Tomcat8中部署了一个应用程序,我希望它同时在http和https上运行。我已将server.xml配置为同时在http和https上运行。应用程序的web.xml也配置为处理这两个请求。问题是我只收到https请求的响应。对于http,它表示请求超时 配置的https端口为9999,http端口为8080。 =>工作 =>不工作 下面是启动Tomcat时server.xml、web-INF目录中的web.xml和catalina.out响应的附加代码 SERVER.XML为Tomcat 8中的应用程序同时启用HTTP和HTTPS,https,web.xml,tomcat8,server.xml,angular4-httpclient,Https,Web.xml,Tomcat8,Server.xml,Angular4 Httpclient,我在Tomcat8中部署了一个应用程序,我希望它同时在http和https上运行。我已将server.xml配置为同时在http和https上运行。应用程序的web.xml也配置为处理这两个请求。问题是我只收到https请求的响应。对于http,它表示请求超时 配置的https端口为9999,http端口为8080。 =>工作 =>不工作 下面是启动Tomcat时server.xml、web-INF目录中的web.xml和catalina.out响应的附加代码 SERVER.XML <Co
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"/>
<Connector
protocol="org.apache.coyote.http11.Http11NioProtocol"
port="9999" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
keystoreFile="/root/.keystore" keystorePass="Pooltooadm!n"
clientAuth="false" sslProtocol="TLS"/>
也许8080端口已经被占用了。如果服务器上有apache2,apache2的默认端口为8080。尝试其他端口或检查:
sudo netstat -tulpn |grep apache
可以通过如下配置web.xml来实现这一点:-
<security-constraint>
<web-resource-collection>
<web-resource-name>Support Both HTTP and HTTPS</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<!-- <transport-guarantee>NONE</transport-guarantee> -->
</user-data-constraint>
</security-constraint>
同时支持HTTP和HTTPS
/*
我已经向netstat进行了检查,端口8080确实只由tomcat使用。端口8080仅在我启动tomcat时启动,并且在关闭tomcat后无法访问。您可以直接将端口值更改为另一个端口,即Port=“8181”。(将server.xml编辑为admin,否则可能会出现访问拒绝错误)这将更改Tomcat的默认端口。如果您不想更改tomcatPort的默认设置,但问题仍然存在,则另一个选项是在另一个端口上运行http版本。http仍然不工作。是否与web.xml配置有关??我已经注释掉了文件中的标签。web资源名称标记配置为支持HTTP和HTTPSwas,可以通过更改应用程序的web.xml来实现。
sudo netstat -tulpn |grep apache
<security-constraint>
<web-resource-collection>
<web-resource-name>Support Both HTTP and HTTPS</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<!-- <transport-guarantee>NONE</transport-guarantee> -->
</user-data-constraint>
</security-constraint>