【问题标题】:Cannot access Tomcat via web after EC2 rebootEC2 重启后无法通过 Web 访问 Tomcat
【发布时间】:2015-08-06 10:56:06
【问题描述】:

我重新启动了我的 Amazon EC2 实例,但现在我无法通过网络连接到我的 Tomcat7 Web 服务器。

这是我尝试过的,但无济于事:
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 主页。

任何帮助将不胜感激!

【问题讨论】:

  • 我可以通过 SSH 和 SCP 进入系统,所以我认为问题出在 Tomcat 或某种 DNS 解析上。我的域在 namecheap 上注册并托管在 AWS 上。在 namecheap 上,我使用“A 地址”设置了转发

标签: linux tomcat amazon-web-services amazon-ec2 portforwarding


【解决方案1】:

看起来我的 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。我会留下这篇文章,以便其他人遇到相同问题时可以参考。

更新: 我还需要更新我的 server.xml,改变

<Connector port="8080" protocol="HTTP/1.1"  
 connectionTimeout="20000" />  
 redirectPort="8443" /> 

到:

<Connector port="8080" protocol="HTTP/1.1"  
 connectionTimeout="20000" />  
 redirectPort="443" /> 

【讨论】:

    猜你喜欢
    • 2012-09-10
    • 2021-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-02
    • 1970-01-01
    相关资源
    最近更新 更多