Comment rediriger définitivement le port 80 vers 8080 sous OS X?


9

Sur OS X 10.6, vous ne l'avez pas iptables, alors quelle est la solution complète pour cette redirection permanente de toutes les demandes envoyées au port 80 vers un autre port, comme 8080?

Cela doit être persistant.


Je voulais suggérer rinetdparce que c'est si simple que je pensais que ça se compilerait n'importe où, mais il ne semble pas y avoir de port pour OS X, malheureusement ...
Nicolas Raoul

Je ne peux pas poster ceci comme réponse car cette question est protégée, mais j'ai eu beaucoup de succès en utilisant le serveur Apache intégré pour rediriger vers un autre port. Ajoutez ce qui suit à la fin de /etc/apache2/httpd.conf: <Location />\nProxyPass http://localhost:8080/\n</Location>(où \nest une nouvelle ligne), puis activez «Partage Internet» dans les Préférences Système.
Tobias

Réponses:


10

Utilisez ipfw comme dans la réponse de @ bindbn. Voilà l'idée générale.

Persistance:

mettez vos règles dans un fichier:

/etc/ipfw.conf

ajouter tout en haut de votre fichier

flush

Assurez-vous qu'il n'y a pas d'espaces blancs avant ou arrière dans aucune ligne.

ajouter à /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>

Soit redémarrer, soit

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

la première fois.

Après c'est

launchctl load com.yourdomain.ipfw

1
Chinggsy, j'ai essayé votre méthode et tout fonctionne, mais une fois que c'est le cas, j'obtiens une erreur dans la console. 30/03/11 16:07:01 com.apple.ipfw [342] Ligne 1: socket: opération non autorisée Les autorisations sur les deux fichiers sont définies comme root en tant que propriétaire et le problème persiste. Qu'est-ce que je rate? paix
concertiste

Cet article a corrigé cela pour moi: apple.stackexchange.com/questions/3250/…
Mattijs

1
En fait, cette réponse n'a pas fonctionné pour une raison quelconque. Cet article a cependant: blog.scottlowe.org/2012/04/05/setting-up-ipfw-on-mac-os-x
Mattijs

Sous OS X, Yosemite ipfwa été supprimé. Une solution alternative utilisant pfa été publiée dans cet article .
lyschoening

12

Merci mais il manque quelque chose, ce changement n'est pas persistant.
sorin

ok, ... placez votre plist dans Launch agents not launch Daemon. incroyable, cela a fonctionné pour moi.

1
'NUMBER' est une sorte de position dans ipfw et devrait être remplacé par un nombre réel
Drew
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.