OS X에서 포트 80을 8080으로 영구적으로 리디렉션하는 방법은 무엇입니까?


9

OS X 10.6에는을 가지고 있지 않으므로 iptables포트 80으로 전송 된 모든 요청을 8080과 같은 다른 포트로 영구적으로 리디렉션하는 완벽한 솔루션은 무엇입니까?

지속적이어야합니다.


나는 rinetd그것이 매우 간단하기 때문에 제안하고 싶었지만 어디에서나 컴파일 될 것이라고 생각했지만 불행히도 OS X에 포트가없는 것 같습니다 ...
Nicolas Raoul

이 질문이 보호되어 있기 때문에 이것을 답변으로 게시 할 수는 없지만 내장 된 Apache 서버를 사용하여 다른 포트로 리디렉션하는 데 큰 성공을 거두었습니다. /etc/apache2/httpd.conf 끝에 다음을 추가 한 후 <Location />\nProxyPass http://localhost:8080/\n</Location>(여기서는 \n줄 바꿈) 시스템 환경 설정에서 "인터넷 공유"를 활성화하십시오.
Tobias

답변:


10

@bindbn의 답변과 같이 ipfw를 사용하십시오. 이것이 일반적인 생각입니다.

고집:

규칙을 파일에 넣으십시오.

/etc/ipfw.conf

파일 맨 위에 추가

flush

행에 선행 또는 후행 공백이 없는지 확인하십시오.

/Library/LaunchDaemons/com.yourdomain.ipfw.plist에 추가하십시오.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>Label</key>
    <string>com.yourdomain.ipfw</string>
    <key>Program</key>
    <string>/sbin/ipfw</string>
    <key>ProgramArguments</key>
    <array>
      <string>/sbin/ipfw</string>
      <string>-q</string>
      <string>/etc/ipfw.conf</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
  </dict>
</plist>

재부팅하거나

launchctl load -w /Library/LaunchDaemons/com.yourdomain.ipfw.plist

처음으로.

그 후에는

launchctl load com.yourdomain.ipfw

1
Chinggsy, 나는 당신의 방법을 시도하고 모든 것이 실행되지만 일단 콘솔에 오류가 발생합니다. com.apple.ipfw [342] 라인 1 : 소켓 : 작업이 허용되지 않음 두 파일 모두에 대한 권한이 소유자로서 루트로 설정되고 문제가 지속됩니다. 내가 무엇을 놓치고 있습니까? 평화
협주곡

이 기사는 다음과 같이 수정되었습니다 : apple.stackexchange.com/questions/3250/…
Mattijs

1
실제로이 답변은 어떤 이유로 작동하지 않았습니다. 그러나이 기사는 다음과 같습니다 : blog.scottlowe.org/2012/04/05/setting-up-ipfw-on-mac-os-x
Mattijs

OS X에서는 요세미티 ipfw가 제거되었습니다. 이 요지에서 사용하는 대체 솔루션 pf이 게시 되었습니다 .
lyschoening

12

고맙지 만 무언가가 누락되었습니다.이 변경은 영구적이지 않습니다.
sorin

알았어 .. 데몬을 시작하지 않는 Launch 에이전트에 plist를 배치하십시오. 놀라운 일이었습니다.

1
'NUMBER'는 ipfw에서 일종의 위치이며 실제 숫자로 대체되어야합니다.
Drew
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.