On OS X 10.6 you do not have iptables
, so what is the full solution for this permanently redirect all request sent to port 80 to another port, like 8080?
It has to be persistent.
Server Fault is a question and answer site for system and network administrators. It only takes a minute to sign up.
Sign up to join this communityUse ipfw as in @bindbn's answer. That's the general idea.
put your rules into a file :
/etc/ipfw.conf
add at the very top of your file
flush
add to /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>
Either reboot, or
launchctl load -w /Library/LaunchDaemons/com.yourdomain.ipfw.plist
the first time.
After that it is
launchctl load com.yourdomain.ipfw
ipfw
has been removed. An alternative solution using pf
has been posted in this gist.
Oct 17, 2014 at 14:27
Use ipfw(read 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
rinetd
because it is so simple I thought it would compile anywhere, but there does not seem to be a port to OS X, unfortunately...<Location />\nProxyPass http://localhost:8080/\n</Location>
(where\n
is a newline), and then enable "Internet Sharing" in System Preferences.