포트 80에서 실행되는 httpd 서버가 있습니다반짝이는 서버포트 3838에서 실행됩니다. 시도해보니 curl 127.0.0.1:3838
샤이니 서버에 제공되는 인덱스 파일이 나오더군요. 하지만 컬을 시도하면 curl localhost:3838
아무것도 검색하지 않고 시간이 초과됩니다. 왜?
내 /etc/hosts 파일의 내용은 다음과 같습니다.
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
<my-ipv4-address> www.<mywebsite>.com <mywebsite>.com
<my-ipv6-address> www.<mywebsite>.com <mywebsite>.com
및 결과getent ahosts localhost
::1 STREAM localhost
::1 DGRAM
::1 RAW
127.0.0.1 STREAM
127.0.0.1 DGRAM
127.0.0.1 RAW
답변1
보시다시피 getent ahosts localhost
, localhost에 대한 IPv6 항목은 IPv4 항목보다 우선합니다. (이 명령이 유용한 이유를 알고 싶다면 man getent
및 를 참조하십시오.)man nss
Curl은 듀얼 스택이며 IPv6 및 IPv4 주소를 모두 확인할 수 있으므로 IPv6 주소를 사용합니다. 하지만 샤이니 서버는 IPv6를 지원하지 않으므로 IPv6 주소를 직접 사용할 경우에는 타임아웃이 발생합니다. OTOH를 사용하면 127.0.0.1
IPv4 주소이므로 성공합니다.
답변2
Shyni 서버가 얼마나 정확하게 수신하는지 확인해야 합니다(ipv4 또는 pv6 또는 둘 다).
netstat -pantu |grep LIST
이는 "localhost" 사용 제한과 관련된 문제인 것 같습니다. 아마도...
답변3
문제를 해결하려면 다음에 추가하세요./etc/hosts
127.0.0.1 localhost shiny myWebsiteName
(기존 행에 추가합니다).
더 좋습니다.
웹 서버를 수신하도록 구성한 127.0.0.2
다음 추가하세요./etc/hosts
127.0.0.2 shiny myWebsiteName
(Debian 8 및 9에서 테스트됨)