java - Tomcat URL 无法被另一台 PC 访问
问题描述
我正在使用 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 pc 访问并获取以下日志:
[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)
解决方案
检查防火墙规则一次。8080
默认情况下可能不打开端口。在部署应用程序的机器上,您必须向 iptables 添加新规则才能打开端口。
- 编辑 iptables
vi /etc/sysconfig/iptables
- 添加新规则以打开端口 8080,如下所示
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
- 保存文件并退出
esc+:+w+q
或检查此链接vi
以查看保存更改后如何退出编辑器 - 重新加载iptables
/etc/init.d/iptables restart
推荐阅读
- mongodb - $gt 内的三元运算符
- javascript - 如何在 LIVE-SERVER 上使用 Javascript 找到当前的 html 文件页名称
- fusionauth - Fusion auth 应用程序无法以有限的日志记录启动,是否有将日志记录从 INFO 更改为 DEBUG 的配置?
- python - selenium 崩溃:TypeError:“str”对象不可调用
- sql - 没有值时显示 0.00。目前显示1000
- arrays - 使用 TypeScript 在 lodash/sortBy 中进行错误类型检测
- cassandra - CassandraDaemon.java:709 - 启动时遇到异常 java.lang.IllegalArgumentException: Unknown CF
- python - 包含电子邮件但单词之间没有空格的文本。如何提取电子邮件
- php - Laravel 5.8 多上传输入
- c++ - 通过制作“状态快照”来构建撤消和重做