首页 文章

Tomcat拒绝在端口8080上工作

提问于
浏览
3

对不起,如果之前已经问过这个问题 .

我有一个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   Delete
80 (HTTP)   0.0.0.0/0   Delete
8080 (HTTP*)    0.0.0.0/0   Delete
  • 我安装了jdk和jre,即使我不知道为什么我需要jdk如果tomcat在端口8080上运行 .

  • 我已经配置了tomcat来绑定IPV4地址

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

在server.xml并添加

JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true"
echo $JAVA_OPTS

到setenv.sh

Runnung netstat -ln给了我

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:8005          0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:8009            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
udp        0      0 0.0.0.0:68              0.0.0.0:*                          
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     5886     @/com/ubuntu/upstart
unix  2      [ ACC ]     STREAM     LISTENING     7285     /var/run/dbus/system_bus_socket
unix  2      [ ACC ]     SEQPACKET  LISTENING     6077     /run/udev/control
unix  2      [ ACC ]     STREAM     LISTENING     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]

那么,我错过了什么吗?

谢谢!!

3 回答

  • 0

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

    • 删除HTTP(80)(如果有) .

    • 选择自定义TCP规则并输入端口为"8080"

    • 点击申请规则 .

    添加DNS名称:8080

    它现在应该工作 .

  • 0

    请检查您的Amazon EC2 instace的安全设置或ELB的安全设置(如果您使用的话) . 我最好的猜测是8080没有曝光

  • 6

    ......我正在努力解决这个问题 .

    我将您的部分问题解释为您已正确配置并将安全组应用于您的服务器,该安全组允许在端口80上使用HTTP并访问端口8080 . (我使用的安全组管理器的版本与您使用的版本略有不同 . 我相信 . )

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

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

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

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

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

    --- v

相关问题