我需要让 Tomcat 7 在 2 个不同的端口上侦听 HTTP 请求(第二个端口使 webapps 认为它正在接收 https 请求,因为这是负载均衡器上正在发生的事情)。但是第二个端口不起作用,当您尝试从它请求 URL 时它只是挂起:
<Connector port="80" protocol="HTTP/1.1" URIEncoding="UTF-8" compression="2048"
connectionTimeout="20000"
redirectPort="443" />
<Connector port="480" protocol="HTTP/1.1" URIEncoding="UTF-8" compression="2048"
connectionTimeout="20000"
redirectPort="443"
scheme="https" secure="true"/>
为什么端口 480 不监听 http 请求?
catalina.out 显示没有问题,并且 tomcat 在技术上正在监听端口 480:
# tail catalina.out
Nov 4, 2011 4:09:48 PM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-80
Nov 4, 2011 4:09:48 PM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-480
# netstat -nlp | grep ":80\|:480"
tcp 0 0 :::480 :::* LISTEN 30046/java
tcp 0 0 ::ffff:127.0.0.1:8005 :::* LISTEN 30046/java
tcp 0 0 :::8009 :::* LISTEN 30046/java
tcp 0 0 :::80 :::* LISTEN 30046/java
答案1
问题出在我的防火墙设置上。我阻止了端口 480 :(。我觉得自己不够聪明……