关于在 EC2 上设置 Amazon Linux ami 端口的疑问

关于在 EC2 上设置 Amazon Linux ami 端口的疑问

我有一个非常简单的设置:一个 ami 映像,其中 spring-boot/tomcat 监听端口 8080 和 8081。我有一个启用了 ping 和 http 的安全组。从下面的列表中我可以看到端口 22、8080 和 8081。我可以从我的笔记本电脑 ping 端口 808X,curl(使用 127.0.0.1),没有任何问题。但对 127.0.0.1 的请求被拒绝,所以我无法检查端口转发是否正常工作。

我在设置中缺少什么?谢谢!

tcp        0      0 127.0.0.1:27017             127.0.0.1:43326             ESTABLISHED 
tcp        0      0 127.0.0.1:27017             127.0.0.1:43388             ESTABLISHED 
tcp        0      0 127.0.0.1:27017             127.0.0.1:43334             ESTABLISHED 
tcp        0      0 127.0.0.1:27017             127.0.0.1:43330             ESTABLISHED 
tcp        0      0 127.0.0.1:27017             127.0.0.1:43386             ESTABLISHED 
tcp        0      0 127.0.0.1:27017             127.0.0.1:43390             ESTABLISHED 
tcp        0      0 127.0.0.1:27017             127.0.0.1:43384             ESTABLISHED 
tcp        0      0 :::111                      :::*                        LISTEN      
tcp        0      0 :::8080                     :::*                        LISTEN      
tcp        0      0 :::8081                     :::*                        LISTEN      
tcp        0      0 :::35729                    :::*                        LISTEN      
tcp        0      0 :::22                       :::*                        LISTEN      
tcp        0      0 :::55233                    :::*                        LISTEN      
tcp        0      0 ::ffff:127.0.0.1:43328      ::ffff:127.0.0.1:27017      ESTABLISHED 

更新

我还输入:

sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
sudo service iptables save
sudo service iptables start
sudo service iptables status

鉴于我将“HTTP”(端口 80)添加到安全组,我认为这足以告诉操作系统转发请求。 Tomcat/Spring-boot 在 8080 上运行。

更新2

如果我限制我的安全组 http 设置以仅使用我的 IP,那么端口就会打开,重定向就会起作用。完全相同的命令集

答案1

解决方法是从安全组中删除 http IP6 规则。我认为这可能与 tomcat 需要刺激才能与 ip4 堆栈一起工作有关。

我在应用程序属性文档中没有看到此案例的 spring-boot 条目。因此,无需安装独立的 tomcat,此解决方法即可解决问题。

相关内容