컬을 사용하여 포트 8081에서 연결이 거부되었습니다.

컬을 사용하여 포트 8081에서 연결이 거부되었습니다.

Turbo와 Demo라는 두 개의 CentOS 7 시스템이 있습니다. 첫 번째 Turbo에서 데몬/서비스를 시작했고 두 번째 데모에서 해당 서비스를 호출하고 싶었습니다. 포트 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

내가 사용하는 컬 명령은 다음과 같습니다.

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

Google 검색을 했는데 대부분의 결과에 iptable을 편집하거나 방화벽에서 포트를 여는 것으로 나타났습니다.

내가 찾고 있어요이 웹사이트, 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]# 

테스트를 위해 localhost를 사용하고 있지만 다음 단계를 수행하여 다른 시스템으로 이동하고 싶습니다. localhost 결과는 다음과 같습니다.

[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>

터미널 창에서 서비스를 시작했습니다. 아직 서비스 자동 로딩 지점에 도달하지 못했습니다.

한 서버에서 다른 서버로의 컬 액세스는 포트 8080에서만 작동하고 다른 포트에서는 작동하지 않습니까, 아니면 다른 문제가 있습니까?

답변1

문제는 다음과 같습니다. netstat 출력에 서비스가 외부에서 액세스 가능한 IP가 아닌 localhost에서 수신 대기하고 있는 것으로 표시됩니다.

127.0.0.1:8081

(또는 "모든") IP를 수신하도록 서비스를 편집하고 다시 시작합니다.

관련 정보