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" />