localhost의 포트 80에 연결할 수 없습니다.


1

나는 불을 질렀다. sudo nc -l 127.0.0.1 80. 오류가 없습니다. 나는 그 때 시도한다. telnet 127.0.0.1 80. 연결되지 않습니다.

포트 81과 똑같은 동작이 잘됩니다.

내가 아는 한, 방화벽은 실행되고 있지 않습니다.

https://img.skitch.com/20120228-t8h98sccsde3w1jnf2tb55xdny.png 내가 사용하고있는 명령을 보여줍니다. (숫자는 명령이 실행되는 순서입니다)

OS X 10.7.3을 사용 중입니다.

답변:


3

몇 가지 제안 사항이 있습니다. 먼저 패킷 필터 방화벽이 꺼져 있는지 확인하십시오. 다음은 방화벽이 설치된 Mac의 예입니다.

$ sysctl net.inet.ip.fw.enable
net.inet.ip.fw.enable: 1
$ sudo ipfw show
Password:
65535 0 0 allow ip from any to any

sysctl 명령은 방화벽이 실제로 활성화되어 있지만 두 번째 규칙은 규칙이 모든 트래픽을 허용한다는 것을 보여줍니다. 증상은 응용 프로그램 방화벽과 일치하지 않지만 확실하게 확인하십시오.

$ defaults read /Library/Preferences/com.apple.alf globalstate
0

여기서 0은 꺼짐을 의미하고 1은 켜짐을 의미하고 2는 "모든 수신 연결 차단"을 의미합니다. 이들 중 어느 것도 활성 방화벽을 보이지 않는다면, 다음으로해야 할 일은 tcpdump를 실행하여 telnet과 nc 사이에서 무슨 일이 일어나는지 확인하는 것입니다. 다음은 성공적인 연결입니다.

$ sudo tcpdump -ilo0 port 80
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on lo0, link-type NULL (BSD loopback), capture size 65535 bytes
20:35:28.193217 IP localhost.49531 > localhost.http: Flags [S], seq 1937962870, win 65535, options [mss 16344,nop,wscale 3,nop,nop,TS val 7494959 ecr 0,sackOK,eol], length 0
20:35:28.193286 IP localhost.http > localhost.49531: Flags [S.], seq 1740947472, ack 1937962871, win 65535, options [mss 16344,nop,wscale 3,nop,nop,TS val 7494959 ecr 7494959,sackOK,eol], length 0
20:35:28.193298 IP localhost.49531 > localhost.http: Flags [.], ack 1, win 65535, options [nop,nop,TS val 7494959 ecr 7494959], length 0
20:35:28.193307 IP localhost.http > localhost.49531: Flags [.], ack 1, win 65535, options [nop,nop,TS val 7494959 ecr 7494959], length 0

이것은 분명히 문제를 해결하지는 못하지만, 어떤 일이 벌어지고 있는지에 대한 좋은 단서를 줄 수 있습니다.


3

마침내 그것을 알아 냈다. 나는 Pow (http://pow.cx)를 설치했다. 그것은이 스크립트를 실행합니다 : http://get.pow.cx . 이 스크립트는 몇 가지 방화벽 규칙을 설치합니다. 비록 내가 힘을 불능화 시켰지만, 방화벽 규칙은 여전히 ​​존재했다. 파워 제거 스크립트를 실행하면 문제가 해결되었습니다.


나도. 그리고 나는 이미 pow 방화벽 launchd 항목을 수동으로 언로드했습니다. : '(
indirect

1

듣고 있지 않으면 듣지 않는다. netstat -an 포트 80에서 tcp를 듣는 것을 보여 주시겠습니까?

시스템 환경 설정 - & gt;에서 웹 공유를 사용할 수 있습니까? 나누는? 그건 아파치를 실행 ...


아니요, 아파치가 실행되고 있지 않습니다. 다른 포트가 80 번 포트에서 실행 중이면 nc가 해당 포트에서 청취하도록 알려줍니다. netstat는 포트 80에서 아무것도 실행하지 않습니다.
Joe Van Dyk

0

전에도이 문제가 있었는데 이전 버전의 Skype에서는 포트 80을 사용합니다. Apache를 시작하려면 Skype를 중지하고 Apache를 시작한 다음 Skype를 다시 시작해야했습니다. 최신 버전에서는 괜찮을 것 같습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.