랙 응용 프로그램에 대한 OSX 연결 구성 문제


2

내가 맥 엘 캐피 탄 10.11.6 (15G31) 및 간단한 랙 응용 프로그램을 실행 중입니다. rackup -p 5004. 나는 그것과 연결할 수있다. http://localhost:5004/http://[::1]:5004/

하지만 연결할 수 없습니다. http://127.0.0.1:5004/http://192.168.0.111:5004/.

내 컴퓨터에서 잘못 구성된 것처럼 보입니다. IPv4 및 IPv6에 연결하려고하면 다른 오류가 발생합니다.

$ nc -v -4 192.168.0.111 5004 # and nc -v -4 127.0.0.1 5004 and nc -v -4 localhost 5004
nc: connectx to 192.168.0.111 port 5004 (tcp) failed: Connection refused

$ nc -v -6 192.168.0.111 5004 # and nc -v -6 127.0.0.1 5004
nc: getaddrinfo: nodename nor servname provided, or not known

하지만 나는 nc -v -6 localhost 5004

내 호스트 파일은 매우 간단합니다.

$ cat /etc/hosts                                                                                                                                                       
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost

내 호스트 컴퓨터의 IP 주소로 작동하게해야합니다. 192.168.0.111 그래서 Docker 컨테이너에 연결할 수 있습니다. 이 문제를 해결하는 방법?


다른 주제에서 찾은 추가 정보

  • scutil

    $ scutil -r 192.168.0.111
    Reachable, Local Address, Directly Reachable Address
    
    $ scutil -r 127.0.0.1
    Reachable, Local Address, Directly Reachable Address
    
    $ scutil -r localhost
    Reachable
    
    $ scutil -r ::1
    Reachable, Local Address, Directly Reachable Address
    
    # but note, ???
    $ scutil -r qwerty
    Reachable
    
  • lsof 포트 사용법

lsof 포트가 루비 실행 파일이고 흥미로운 부분이 localhost:avt-profile-1. 확인하기 avt-profile-1 "실시간 전송 프로토콜 미디어 데이터"에 대한 결과를 제공합니다. 더 많은 정보 이리 . 또한 흥미로운 점은 내가 rackup 응용 프로그램에는 포트 사용이 없으므로 내 컴퓨터에서 실행중인 서비스 / 데몬이 아닙니다.

lsof -i :5004
COMMAND   PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
ruby    12167 kode   16u  IPv6 0xf3c39e30b59c5321      0t0  TCP localhost:avt-profile-1 (LISTEN)

여기에 포트 5000에서 실행되는 다른 응용 프로그램이 있습니다. 호스트 IP를 통해 연결할 수 있습니다. 192.168.0.111:5000. NAME 참고 *:commplex-main. 또한 이것이 무엇에 사용되는지 알고 싶습니다.

lsof -i :5000
COMMAND   PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
ruby    12889 kode   14u  IPv4 0xf3c39e30b22fcbe9      0t0  TCP *:commplex-main (LISTEN)
  • 호스트 주소 이름

    host 192.168.0.111
    111.0.168.192.in-addr.arpa has no PTR record
    
  • arp

    $ arp 192.168.0.111
    ? (192.168.0.111) at a0:99:9b:17:16:1d on en0 ifscope permanent [ethernet]
    
  • nslookup

    $ nslookup localhost
    Server:     192.168.0.1
    Address:    192.168.0.1#53
    
    Name:   localhost
    Address: 127.0.0.1
    
    $ nslookup 127.0.0.1
    Server:     192.168.0.1
    Address:    192.168.0.1#53
    
    1.0.0.127.in-addr.arpa  name = localhost.
    
    $ nslookup 192.168.0.111
    Server:     192.168.0.1
    Address:    192.168.0.1#53
    
    ** server can't find 111.0.168.192.in-addr.arpa.: NXDOMAIN
    

답변:


1

문제는 rackup 기본적으로 localhost에서 실행됩니다. 호스트를 사용하려면 다음과 같이 지정해야합니다. -o 처럼 rackup -o 192.168.0.111 -p 5004. 하나의 호스트 만 지정할 수 있습니다.


-3

아, 저도 같은 문제가있었습니다. Chrome이 실행중인 나쁜 스크립트로 밝혀졌습니다. Safari를 대신 사용하여 문제를 해결했습니다.


내 사건이 아닌 것 같다. 사파리와 오페라에서도 마찬가지입니다. @chromaticsyllabus 어떤 스크립트가 실행되고 있는지를 격리 시켰습니까?
kode

어떤 이유로 nsIQTScriptablePlugin.xpt (일반적으로 Safari 플러그인을 계속 실행해야합니다. support.apple.com/ko-KR/HT203353 )가 Chrome에 의해 도용당했습니다. Chrome의 작업 관리자를 확인하면이를 볼 수 있습니다. 오페라에 비슷한 점이 있는지 잘 모릅니다.
chromaticsyllabus

나는 플러그인도 가지고있다. $ locate nsIQTScriptablePlugin.xpt/Library/Internet Plug-Ins/Disabled Plug-Ins/nsIQTScriptablePlugin.xpt $ file /Library/Internet\ Plug-Ins/Disabled\ Plug-Ins/nsIQTScriptablePlugin.xpt /Library/Internet Plug-Ins/Disabled Plug-Ins/nsIQTScriptablePlugin.xpt: XPConnect Typelib version 1.1
kode

이 플러그인이에서 보이지 않습니다. chrome://plugins/ 달리는 about:plugins Chrome 주소 표시 줄에 있습니다. 4 개의 다른 플러그인이있었습니다. 이를 사용하지 않도록 설정해도 문제가 해결되지는 않습니다.
kode

다른 질문에 오신 것을 환영합니다. 우리는 대답이 단 한 줄 이상이되어야한다고 생각합니다. 이상적으로, 귀하의 답변이 왜 * 옳은 것인지 설명하고 싶습니다. "또한 링크, 인용 및 스크린 샷을 제공하는 데 도움이됩니다. 도움말 섹션을 검토하십시오. 답변하는 방법 질문에 대한 좋은 답변 작성에
Allan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.