OSX 10.11 El Capitan的80端口转发

升级到OSX 10.11 El Capitan版本后,在本地需要开启80端口转发到9000端口以测试web程序可以这样做:

使用pfctl实现该需求

  1. 创建anchor文件 /etc/pf.anchors/:
rdr pass on lo0 inet proto tcp from any to any port 80 -> 127.0.0.1 port 9000
rdr pass on lo0 inet proto tcp from any to any port 443 -> 127.0.0.1 port 9001
  1. 创建pfctl配置文件 /etc/pf-.conf:
rdr-anchor "forwarding"
load anchor "forwarding" from "/etc/pf.anchors/"
  1. 应用规则,开启转发:
sudo pfctl -ef /etc/pf-.conf

如果想取消端口转发,执行下列命令:

sudo pfctl -df /etc/pf-.conf

设置为系统开启自动开启该功能

  1. 创建文件 /Library/LaunchDaemons/com.apple.pfctl-.plist:




     Label
     com.apple.pfctl-
     Program
     /sbin/pfctl
     ProgramArguments
     
          pfctl
          -e
          -f
          /etc/pf-.conf
     
     RunAtLoad
     
     KeepAlive
     


  1. 运行下列命令使得之后开启自动运行
sudo launchctl load -w /Library/LaunchDaemons/com.apple.pfctl-.plist

你可能感兴趣的:(OSX 10.11 El Capitan的80端口转发)