EC2 重启后无法通过 Web 访问 Tomcat
Cannot access Tomcat via web after EC2 reboot
我重新启动了我的 Amazon EC2 实例,现在我无法通过网络连接到我的 Tomcat7 网络服务器。
以下是我尝试过的方法,但无济于事:
1) 确认我在 Tomcat 的 server.xml 文件中的设置是正确的:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000" />
redirectPort="8443" />
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
... />
2) 通过 this post:
更新了我的 iptables
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT
/sbin/iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
3) 查看了我的 tomcat catalina.out 日志(成功,没有错误)
4) 尝试通过 ip 连接到我的域。它重定向到 https,但不显示任何内容。我无法启动我的 Web 应用程序,也无法启动 Tomcat7 主页。
如有任何帮助,我们将不胜感激!
看来我的 iptables 命令可能有点不对劲。这是我 运行 让它工作的方法:
/sbin/iptables -t nat -I PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-ports 8080
/sbin/iptables -t nat -A OUTPUT -p tcp -d <my_ip_address,my_ip_address> --dport 80 -j REDIRECT --to-port 8080
/sbin/iptables -t nat -I PREROUTING -p tcp --destination-port 443 -j REDIRECT --to-ports 8443
/sbin/iptables -t nat -A OUTPUT -p tcp -d <my_ip_address,my_ip_address> --dport 443 -j REDIRECT --to-port 8443
看来我还需要开放443和8443端口。我会把这个 post 留在上面,以便其他人遇到同样的问题时可以参考它。
更新:
我还需要更新我的 server.xml,更改
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000" />
redirectPort="8443" />
至:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000" />
redirectPort="443" />
我重新启动了我的 Amazon EC2 实例,现在我无法通过网络连接到我的 Tomcat7 网络服务器。
以下是我尝试过的方法,但无济于事:
1) 确认我在 Tomcat 的 server.xml 文件中的设置是正确的:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000" />
redirectPort="8443" />
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
... />
2) 通过 this post:
更新了我的 iptables/sbin/iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT
/sbin/iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
3) 查看了我的 tomcat catalina.out 日志(成功,没有错误)
4) 尝试通过 ip 连接到我的域。它重定向到 https,但不显示任何内容。我无法启动我的 Web 应用程序,也无法启动 Tomcat7 主页。
如有任何帮助,我们将不胜感激!
看来我的 iptables 命令可能有点不对劲。这是我 运行 让它工作的方法:
/sbin/iptables -t nat -I PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-ports 8080
/sbin/iptables -t nat -A OUTPUT -p tcp -d <my_ip_address,my_ip_address> --dport 80 -j REDIRECT --to-port 8080
/sbin/iptables -t nat -I PREROUTING -p tcp --destination-port 443 -j REDIRECT --to-ports 8443
/sbin/iptables -t nat -A OUTPUT -p tcp -d <my_ip_address,my_ip_address> --dport 443 -j REDIRECT --to-port 8443
看来我还需要开放443和8443端口。我会把这个 post 留在上面,以便其他人遇到同样的问题时可以参考它。
更新: 我还需要更新我的 server.xml,更改
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000" />
redirectPort="8443" />
至:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000" />
redirectPort="443" />