AWS ec2-开放端口 8080

AWS ec2-开放端口 8080

我有一个 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 规则。

答案3

我通常会尝试将 SELinux 切换为“禁用”并重新启动,或者直接执行

回显 0 > /sys/fs/selinux/enforce

那么如果这样就解决了问题,在 SELinux 中允许端口

相关内容