4

对不起,如果这个问题以前被问过。

我有一个 Amazon 实例(Ubuntu Server 12.04.1 LTS)并安装了 Tomcat 版本(Apache Tomcat/6.0.36)。它在端口 80 上按预期工作,但在端口 8080 上不工作。(不工作意味着“无法连接到 Web 应用程序管理器”)。

  • 我的安全组配置为 http* 打开了端口 8080
22 (SSH) 0.0.0.0/0 删除
80 (HTTP) 0.0.0.0/0 删除
8080 (HTTP*) 0.0.0.0/0 删除
  • 我同时安装了 jdk 和 jre,即使我不知道如果 tomcat 在端口 8080 上运行我为什么需要 jdk。
  • 我已经将tomcat配置为绑定IPV4地址
<连接器端口="8080" 协议="HTTP/1.1"
               连接超时="20000"
               redirectPort="8443" 地址="0.0.0.0"/>

在 server.xml 并添加

JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true"
回声 $JAVA_OPTS

到 setenv.sh

Runnung netstat -ln 给了我

活动 Internet 连接(仅限服务器)
Proto Recv-Q Send-Q 本地地址 外部地址 状态      
tcp 0 0 0.0.0.0:22 0.0.0.0:* 听     
tcp 0 0 127.0.0.1:8005 0.0.0.0:* 听     
tcp 0 0 0.0.0.0:8009 0.0.0.0:* 听     
tcp 0 0 0.0.0.0:8080 0.0.0.0:* 听     
tcp6 0 0 :::22 :::* 听     
UDP 0 0 0.0.0.0:68 0.0.0.0:*                          
活动 UNIX 域套接字(仅限服务器)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] 流式监听 5886 @/com/ubuntu/upstart
unix 2 [ ACC ] 流监听 7285 /var/run/dbus/system_bus_socket
unix 2 [ ACC ] 序列包监听 6077 /run/udev/control
unix 2 [ ACC ] 流式监听 7397 /var/run/acpid.socket

跑步wget http://localhost:8080给了我

--2013-04-11 11:20:40--  http://localhost:8080/
Resolving localhost (localhost)... 127.0.0.1
Connecting to localhost (localhost)|127.0.0.1|:8080... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7446 (7.3K) [text/html]
Saving to: `index.html'

100%[=====================================================================================================================================================================>] 7,446       --.-K/s   in 0s      

2013-04-11 11:20:40 (294 MB/s) - `index.html' saved [7446/7446]

那么,我错过了什么吗?

谢谢!!

4

3 回答 3

5

登录 AWS 控制台并导航到安全组。

  1. 如果有,请删除 HTTP (80)。
  2. 选择自定义 TCP 规则并输入端口为“8080”
  3. 点击应用规则。

添加 DNS 名称:8080

它现在应该可以工作了。

于 2013-12-31T10:36:22.857 回答
0

...我正在努力自己解决这个确切的问题。

我将您的部分问题解释为意味着您已正确配置并应用了一个安全组到您的服务器,该安全组允许端口 80 上的 HTTP 以及访问端口 8080。(我使用的安全组管理器版本与我相信的你使用的版本略有不同。)

应用打开端口 80 的规则后,我可以在端口 80 上获得内部和外部响应。

另一方面,我添加了一个规则来打开端口 8080 并且无法得到响应。(在主机本身上,我的 wget(1) 测试和你的一样工作。使用 lynx(1) 对我的服务器进行的测试也有效。)

解决方案的一些提示似乎暗示 HTTP 应该与规则中的端口相关联,但 EC2 仪表板中的配置器不允许应用程序协议与规则相关联。

我看到的只是端口、协议(在本例中为 TCP)和源地址范围。

我确定我的本地防火墙没有阻止端口 8080。所以我很难过......

---v

于 2014-04-02T01:55:42.443 回答
0

请检查您的 Amazon EC2 实例的安全设置或 ELB 的安全设置(如果您正在使用)。我最好的猜测是8080没有暴露

于 2013-04-12T17:07:56.903 回答