내 애플리케이션은 포트 8180에서 수신 대기합니다.
포트 8180에 로컬로 연결하려고 하면 연결이 거부되었습니다. 하지만 IP를 사용하여 포트에 연결하려고 하면. 연결할 수 있습니다.
[root@MUMLGOMAPP002 ~]# telnet 10.209.129.54 8180
Trying 10.209.129.54...
Connected to MUMLGOMAPP002 (10.209.129.54).
Escape character is '^]'.
^]
telnet> q
Connection closed.
[root@MUMLGOMAPP002 ~]# telnet localhost 8180
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
telnet: Unable to connect to remote host: Connection refused
내 인터페이스는 다음과 같습니다
[root@MUMLGOMAPP002 ~]# ifconfig
bond0 Link encap:Ethernet HWaddr 44:1E:A1:73:F7:50
inet addr:10.209.129.54 Bcast:10.209.129.63 Mask:255.255.255.224
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:322997568 errors:23 dropped:0 overruns:0 frame:0
TX packets:304470664 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:213628580915 (198.9 GiB) TX bytes:217449664400 (202.5 GiB)
텔넷 localhost와 ip의 차이점이 무엇인지 알고 싶습니다.
답변1
네트워크 프로세스는 bind
특정 주소 또는 임의의 주소에 있을 수 있습니다.
현재 수행 중인 작업을 보려면 을 시도해 보십시오 lsof -n -i TCP:8180 -s TCP:LISTEN
.
넌 봐야 해:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
[lots of other stuff...............................] 10.209.129.54:8180 (LISTEN)
또는
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
[lots of other stuff...............................] *:8180 (LISTEN)
첫 번째는 귀하의 프로세스가 해당 특정 IP 주소에 바인딩되어 있음을 알려주는데, 이는 귀하가 보게 될 것입니다.
이렇게 하면 호스트 이름 telnet localhost 8180
이 telnet
IP 주소로 확인됩니다. 해결되어야 합니다 127.0.0.1
. 따라서 귀하의 시스템은 에 연결을 시도합니다 127.0.0.1:8180
. 귀하의 서버가 단지 수신만 하고 있다면 10.209.129.54:8180
네트워크 계층은 에 대한 연결을 거부할 것입니다 127.0.0.1:8180
.
두 가지를 모두 작동시켜야 하는 경우 사용하는 서버 프로그램에 따라 다릅니다.
JBoss라고 하면 일반적으로 포트 8180을 사용하는 것 같습니다.https://developer.jboss.org/thread/168789두 가지를 모두 작동시키는 방법을 알아보세요. 동일한 호스트에서 여러 JBoss 서버를 실행하는 경우 이로 인해 혼란이 발생할 수 있습니다.