使用curl 在端口8081 上连接被拒绝

使用curl 在端口8081 上连接被拒绝

我有两个 CentOS 7 机器,分别称为 Turbo 和 Demo。我在第一个 Turbo 上启动了一个守护进程/服务,并希望从第二个 Demo 调用该服务。我启动了服务来监视端口8081。另一个守护进程使用端口8080,所以我想到使用下一个端口8081。

FirewallD两个盒子都没有运行防火墙守护进程。

我向 iptables 添加了一个条目并重新启动了系统。这是文件的内容。

# Generated by iptables-save v1.4.21 on Tue Nov 10 13:00:36 2015
*filter
:INPUT ACCEPT [900:143014]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [781:136535]
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8081 -m comment --comment "DataMover Service Port" -j ACCEPT
COMMIT
# Completed on Tue Nov 10 13:00:36 2015

这是尝试使用防火墙(已禁用)打开端口时的预期结果。

[root@Turbo Downloads]# firewall-cmd --permanent --add-port=8081/tcp
FirewallD is not running

我使用的curl命令是:

[hts@jmr-server2 raid1]$ curl -H "Accept: application/xml" "http://192.168.20.88:8081/base/TestService/sayHello"

我进行了 Google 搜索,大多数结果表明编辑 iptables 或打开防火墙上的端口。

我在看这个网站,其中列出了 CentOS 的通用端口号。

它对两个端口进行了以下说明:

8080  webcache  World Wide Web (WWW) caching service  
8081  tproxy  Transparent Proxy  

根据请求,这是结果iptables -L

[root@Turbo Downloads]# service iptables restart
Redirecting to /bin/systemctl restart  iptables.service
[root@Turbo Downloads]# iptables -L
Chain INPUT (policy ACCEPT)
    target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:tproxy /* TestService Service Port */

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
[root@Turbo Downloads]# 

以下是问题:

[root@Turbo Downloads]# netstat -nap|grep 8081
tcp6       0      0 127.0.0.1:8081          :::*                    LISTEN      7272/java           
[root@Turbo Downloads]# 

我正在使用本地主机进行测试,但想采取下一步并转到另一台机器。这是本地主机结果:

[root@Turbo Downloads]# curl -H "Accept: application/xml" "http://localhost:8081/base/TestService/getHello"
<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

我从终端窗口启动了该服务。我还没有到自动加载服务的地步。

从一台服务器到另一台服务器的curl 访问是否只能在端口8080 上进行,而不能使用其他端口,或者是否存在其他问题?

答案1

这就是问题所在——您的 netstat 输出显示服务正在本地主机上侦听,而不是外部可访问的 IP:

127.0.0.1:8081

编辑服务以侦听(或“任何”)IP 并重新启动它。

相关内容