【问题标题】:Tomcat URL could not be accessed by another PCTomcat URL 无法被另一台 PC 访问
【发布时间】:2019-04-11 05:26:47
【问题描述】:

我正在使用 openstack 启动 Red Hat Enterprise Linux Server 版本 7.5 (Maipo) 并在其中安装 apache tomcat 9.0.17,部署一个 Web 应用程序,但我无法访问此 tomcat url,例如 http://10.157.166.142:8080 通过我的另一台位于同一内部网络中的 Windows 电脑。但我可以在linux中使用它。

我还在 catalina.sh 中添加了以下内容以仅绑定 ipv4,在进行此更改之前,它仅绑定到 ipv6,但其他电脑仍然无法访问它

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

curl -v http://localhost:8080 工作正常。

ip: 192.168.0.14 弹性ip:10.157.166.142

[root@bigdata]# netstat -tupln | grep :8080
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               
LISTEN      21373/java

[root@bigdata bin]# service iptables status
  Redirecting to /bin/systemctl status iptables.service
  ● iptables.service - IPv4 firewall with iptables
     Loaded: loaded (/usr/lib/systemd/system/iptables.service; disabled; 
  vendor preset: disabled)
     Active: inactive (dead)

使用 tcpdump,我尝试从我的 Windows 电脑访问并获取以下日志:

[root@bigdata docker.service.d]# tcpdump -i eth0 port 8080
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
10:32:07.738897 IP 10.141.174.148.54346 > bigdata.novalocal.webcache: Flags [S], seq 2866917131, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
10:32:07.741243 IP 10.141.174.148.54347 > bigdata.novalocal.webcache: Flags [S], seq 3985678636, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
10:32:07.990685 IP 10.141.174.148.54350 > bigdata.novalocal.webcache: Flags [S], seq 577076481, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
10:32:10.739649 IP 10.141.174.148.54346 > bigdata.novalocal.webcache: Flags [S], seq 2866917131, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
10:32:10.741583 IP 10.141.174.148.54347 > bigdata.novalocal.webcache: Flags [S], seq 3985678636, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
10:32:10.990666 IP 10.141.174.148.54350 > bigdata.novalocal.webcache: Flags [S], seq 577076481, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
10:32:16.738767 IP 10.141.174.148.54346 > bigdata.novalocal.webcache: Flags [S], seq 2866917131, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
10:32:16.741559 IP 10.141.174.148.54347 > bigdata.novalocal.webcache: Flags [S], seq 3985678636, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
10:32:16.990632 IP 10.141.174.148.54350 > bigdata.novalocal.webcache: Flags [S], seq 577076481, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
[root@bigdata docker.service.d]# lsof -i :8080 | grep LISTEN
java    21373 root   54u  IPv4 90812729      0t0  TCP *:webcache (LISTEN)

【问题讨论】:

  • 您提到的curl 使用的是localhost。你能ping你的windows机器上的IP吗?如果没有,请检查是否有正在运行的防火墙阻止 IP。
  • 我可以从window pc ping linux,它正在工作。
  • 一旦我安装了elasticsearch 6.6.2并且也有这个问题,我无法通过另一台电脑访问该网址,但设置以下使其工作 network.host: 0.0.0.0 http.port: 9200

标签: java tomcat


【解决方案1】:

检查一次防火墙规则。默认情况下,端口8080 可能未打开。 在部署应用程序的机器上,您必须向 iptables 添加新规则才能打开端口。

  1. 编辑iptables vi /etc/sysconfig/iptables
  2. 添加新规则以打开端口 8080,如下所示 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
  3. 保存文件并使用esc+:+w+q 退出或查看this link 了解如何在保存更改后退出vi 编辑器
  4. /etc/init.d/iptables restart重新加载iptables

【讨论】:

  • 您好,防火墙没有启动。
  • 如果你从弹性IP访问,你将不得不在安全组上打开8080端口,因为请求是从互联网路由的。
  • curl -v 192.168.0.14:8080 无法工作。但是telnet 192.168.0.14 8080 可以在linux上运行。
  • 我已经在安全组中打开了端口。
  • 我在公司的window 10 ip: 10.141.174.148 我认为openstack可能在私有云中,因为我必须连接公司的vpn才能访问它。
【解决方案2】:

感谢 Yogesh Badke。并添加以下规则作品。

-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT

【讨论】:

    猜你喜欢
    • 2019-03-02
    • 2011-05-12
    • 2020-05-23
    • 2013-07-27
    • 2011-07-10
    • 1970-01-01
    • 2011-05-18
    • 2023-03-30
    相关资源
    最近更新 更多