![AWS ec2-开放端口 8080](https://linux22.com/image/563310/AWS%20ec2-%E5%BC%80%E6%94%BE%E7%AB%AF%E5%8F%A3%208080.png)
我有一个 AWS ec2 实例。我已经安装了 tomcat,现在想通过浏览器在端口 8080 上访问它。当我尝试这样做时,浏览器挂起了。我已将 8080 添加到默认安全组。我看到你可以为不同的区域开放不同的端口,我已经为每个区域添加了端口。
以下是我目前所做的:
//install tomcat
# sudo yum install tomcat6
//open port on server
# sudo iptables -A INPUT -i eth0 -p tcp --sport 8080 -m state --state NEW,ESTABLISHED -j ACCEPT
//start tomcat
# sudo service tomcat6 start
//and rule to AWS security group for port 8080
AWS dashboard > ec2 > security groups > default group > inbound rule: 8080 (HTTP*) 0.0.0.0/0
//check via cli that tomcat is running on port 8080
# udo fuser -v 8080/tcp
(successful response) 8080/tcp: tomcat 16353 F.... java
//check via browser
http://ec2-instance-dns:8080 (browser tries to load page indefinitely)
答案1
您还需要在安全组中添加端口AWS 配置面板。
答案2
默认情况下,AWS EC2 实例有一个安全组,不允许除 SSH 之外的访问。您必须去配置安全组以允许您想要允许的流量进入实例。您遇到的浏览器挂起是因为 AWS 防火墙未配置为允许端口 8080/tcp 通过,因此它会丢弃数据包,而您的浏览器只是在等待对 TCP 握手的响应,而这永远不会发生。
消除尽可能多的移动变量...禁用 iptables 防火墙。如果它有效,则您的安全组配置正确,并且您的 iptables 规则(而不是)--sport 8080
可能--dport 8080
有问题。udo ...
如果您从 EC2 实例本身运行命令,您的命令很可能会利用环回接口,因此它会忽略仅影响 eth0 的任何 iptables 规则。