포트 80을 제외하고 Fedora 17에서는 들어오는 연결이 없습니다.

포트 80을 제외하고 Fedora 17에서는 들어오는 연결이 없습니다.

내 Fedora 시스템에서는 Apache용 포트 80을 제외하고 들어오는 모든 연결이 거부된 것으로 나타납니다.

포트 8111과 1111을 시도했지만 둘 다 작동하지 않습니다. 나는 하드웨어 라우터에서 전달을 수행하고 이러한 포트에 대한 연결을 허용하도록 방화벽(GUI를 사용하는 iptables)을 구성했습니다. 그러나 여전히 작동하지 않습니다.

이러한 포트 중 하나에서 작은 HTTP 서버(node.js hello-world)를 실행하고 이를 컬링하려고 하면 로컬 호스트에서만 작동하고 공용 IP 주소에서는 작동하지 않습니다.

공개 주소를 사용하면 즉시 알 수 있습니다 curl: (7) couldn't connect to host.

포트 전달이나 방화벽 예외가 없으면 이 작업은 시간이 걸리고 바로 발생하지 않으므로 문제가 되지 않는다고 생각합니다. 또한 컬 대신 웹 브라우저를 사용해 보았지만 아무런 차이가 없었습니다.

저는 이라는 도구를 사용해 보았고 tcptrack공개 주소를 사용하여 컬을 시도할 때마다 다음과 같이 표시됩니다(여기서 공개 주소를 변경했는데 192.168.0.2가 로컬 주소입니다).

215.17.123.60:52014   192.168.0.2:1111      RESET        16s    0 B/s
192.168.0.2:52014     215.17.123.60:1111    RESET        16s    0 B/s

그래서 패키지를 받았는데 왠지 거부되었습니다(재설정이 무엇을 의미하는지 모르겠습니다). 다른 방화벽이나 뭔가가 있습니까? 내가 말했듯이 포트 80은 제대로 작동합니다.

답변1

이 웹 서버를 어떻게 실행합니까? 실제 IP 주소가 아닌 로컬 호스트에서만 수신 대기하는 것 같습니다. 따라서 localhost(127.0.0.1)의 연결만 허용합니다.

localhost 대신 192.168.0.2(또는 0.0.0.0)에 바인딩해 보세요.

따라서 다음과 같이 시작하면:

http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(1337, '127.0.0.1');

127.0.0.1로 변경192.168.0.2

관련 정보