Wie leite ich Port 80 unter OS X dauerhaft auf 8080 um?

9

Unter OS X 10.6 ist dies nicht der Fall iptables. Was ist also die vollständige Lösung für diese permanente Umleitung aller an Port 80 gesendeten Anforderungen an einen anderen Port wie 8080?

Es muss hartnäckig sein.

Sorin
quelle
Ich wollte vorschlagen, rinetdweil es so einfach ist, dass ich dachte, es würde überall kompiliert werden, aber es scheint leider keinen Port für OS X zu geben ...
Nicolas Raoul
Ich kann dies nicht als Antwort posten, da diese Frage geschützt ist, aber ich hatte großen Erfolg damit, den integrierten Apache-Server zu verwenden, um zu einem anderen Port umzuleiten. Fügen Sie am Ende von /etc/apache2/httpd.conf Folgendes hinzu: <Location />\nProxyPass http://localhost:8080/\n</Location>(wobei \nes sich um eine neue Zeile handelt), und aktivieren Sie dann "Internetfreigabe" in den Systemeinstellungen.
Tobias

Antworten:

10

Verwenden Sie ipfw wie in der Antwort von @ bindbn. Das ist die allgemeine Idee.

Beharrlichkeit:

Fügen Sie Ihre Regeln in eine Datei ein:

/etc/ipfw.conf

Fügen Sie ganz oben in Ihrer Datei hinzu

flush

Stellen Sie sicher, dass in keiner Zeile führende oder nachfolgende Leerzeichen vorhanden sind.

zu /Library/LaunchDaemons/com.yourdomain.ipfw.plist hinzufügen:

<?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>

Entweder neu starten oder

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

das erste Mal.

Danach ist es

launchctl load com.yourdomain.ipfw
kichernd
quelle
1
Chinggsy, ich habe Ihre Methode ausprobiert und alles läuft, aber sobald dies der Fall ist, wird in der Konsole ein Fehler angezeigt. 30.03.11 16:07:01 com.apple.ipfw [342] Zeile 1: Socket: Vorgang nicht zulässig Die Berechtigungen für beide Dateien werden als Eigentümer festgelegt, und das Problem besteht weiterhin. Was vermisse ich? Frieden
Konzertmann
Dieser Artikel hat das für mich behoben
Mattijs
1
Eigentlich hat diese Antwort aus irgendeinem Grund nicht funktioniert. Dieser Artikel hat jedoch: blog.scottlowe.org/2012/04/05/setting-up-ipfw-on-mac-os-x
Mattijs
In OS X wurde Yosemite ipfwentfernt. Eine alternative Lösung mit pfwurde in dieser Übersicht veröffentlicht .
Lyschoening
12

Verwenden Sie ipfw (lesen Sie http://discussions.info.apple.com/message.jspa?messageID=10945451 http://discussions.apple.com/thread.jspa?messageID=10996939쳋 )

ipfw add NUMBER fwd 127.0.0.1,8080 tcp from any to me 80

oder http://www.hanynet.com/waterroof/

bindbn
quelle
Danke, aber es fehlt etwas, diese Änderung ist nicht dauerhaft.
Sorin
Okay, ... platzieren Sie Ihre Liste in Launch Agents und starten Sie Daemon nicht. erstaunlich, dass es bei mir funktioniert hat.
1
'NUMBER' ist eine Art Position in ipfw und sollte durch eine tatsächliche Nummer ersetzt werden
Drew