¿Cómo redirigir permanentemente el puerto 80 al 8080 en OS X?

9

En OS X 10.6 no tiene iptables, entonces, ¿cuál es la solución completa para esta redirección permanente de todas las solicitudes enviadas al puerto 80 a otro puerto, como 8080?

Tiene que ser persistente.

sorin
fuente
Quería sugerir rinetdporque es tan simple que pensé que se compilaría en cualquier lugar, pero desafortunadamente no parece haber un puerto para OS X ...
Nicolas Raoul
No puedo publicar esto como respuesta porque esta pregunta está protegida, pero he tenido un gran éxito al usar el servidor Apache incorporado para redirigir a otro puerto. Agregue lo siguiente al final de /etc/apache2/httpd.conf: <Location />\nProxyPass http://localhost:8080/\n</Location>(donde \nhay una nueva línea), y luego habilite "Internet Sharing" en Preferencias del sistema.
Tobias

Respuestas:

10

Use ipfw como en la respuesta de @ bindbn. Esa es la idea general.

Persistencia:

pon tus reglas en un archivo:

/etc/ipfw.conf

agregar en la parte superior de su archivo

flush

Asegúrese de que no haya espacios en blanco iniciales o finales en ninguna línea.

agregar a /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>

O reiniciar, o

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

la primera vez.

Después de eso es

launchctl load com.yourdomain.ipfw
chiggsy
fuente
1
Chinggsy, probé tu método y todo funciona, pero una vez que lo hago, aparece un error en la consola. 30/03/11 4:07:01 PM com.apple.ipfw [342] Línea 1: socket: Operación no permitida Los permisos en ambos archivos están configurados como root y el problema persiste. ¿Qué me estoy perdiendo? paz
concertista
En este artículo se fija que para mí: apple.stackexchange.com/questions/3250/...
Mattijs
1
En realidad, esta respuesta no funcionó por alguna razón. Sin embargo este artículo se hizo: blog.scottlowe.org/2012/04/05/setting-up-ipfw-on-mac-os-x
Mattijs
En OS X, Yosemite ipfwha sido eliminado. Una solución alternativa usando pfha sido publicada en este resumen .
lyschoening
12

Use ipfw (lea 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

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

bindbn
fuente
Gracias pero le falta algo, este cambio no es persistente.
sorin
bien, ... coloca tu lista en Agentes de lanzamiento, no en Daemon. Increíble, funcionó para mí.
1
'NÚMERO' es una especie de posición en ipfw y debe reemplazarse con un número real
Drew