Jak trwale przekierować port 80 na 8080 w OS X?


9

W systemie OS X 10.6 nie masz iptables, więc jakie jest pełne rozwiązanie tego stałego przekierowania wszystkich żądań wysłanych do portu 80 na inny port, na przykład 8080?

To musi być trwałe.


Chciałem zasugerować, rinetdponieważ jest tak prosty, że pomyślałem, że można go skompilować w dowolnym miejscu, ale nie wydaje się, że nie ma portu dla OS X, niestety ...
Nicolas Raoul,

Nie mogę opublikować tego jako odpowiedzi, ponieważ to pytanie jest chronione, ale odniosłem wielki sukces, używając wbudowanego serwera Apache do przekierowania na inny port. Dodaj następujące na końcu /etc/apache2/httpd.conf: <Location />\nProxyPass http://localhost:8080/\n</Location>(gdzie \njest nowa linia), a następnie włącz „Udostępnianie Internetu” w Preferencjach systemowych.
Tobias

Odpowiedzi:


10

Użyj ipfw jak w odpowiedzi @ bindbn. To jest ogólny pomysł.

Trwałość:

umieść swoje reguły w pliku:

/etc/ipfw.conf

dodaj na samym początku pliku

flush

Upewnij się, że w żadnym wierszu nie ma żadnych początkowych ani końcowych białych znaków.

dodaj do /Library/LaunchDaemons/com.twojadomena.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>

Uruchom ponownie komputer lub

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

pierwszy raz.

Po tym jest

launchctl load com.yourdomain.ipfw

1
Chinggsy, wypróbowałem twoją metodę i wszystko działa, ale kiedy to się dzieje, pojawia się błąd w konsoli. 30.03.11 16:07:01 com.apple.ipfw [342] Linia 1: gniazdo: Operacja niedozwolona Uprawnienia do obu plików są ustawione na rootowanie jako właściciel, a problem nadal występuje. czego mi brakuje? pokój
koncertman

Ten artykuł naprawił to dla mnie: apple.stackexchange.com/questions/3250/…
Mattijs

1
Właściwie ta odpowiedź z jakiegoś powodu nie zadziałała. Ten artykuł zrobił jednak: blog.scottlowe.org/2012/04/05/setting-up-ipfw-on-mac-os-x
Mattijs

W OS X Yosemite ipfwzostał usunięty. Alternatywne rozwiązanie wykorzystujące pfzostało zamieszczone w tej treści .
lizosening

12

Dziękuję, ale czegoś brakuje, ta zmiana nie jest trwała.
sorin

okej ... umieść swoją listę w Uruchom agentów, a nie uruchom Daemona. niesamowite, że zadziałało dla mnie.

1
„NUMBER” to jakaś pozycja w ipfw i powinna zostać zastąpiona rzeczywistą liczbą
Drew
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.