Mac下使用80端口

在windows上进行web开发的时候。我们习惯使用80端口进行测试使用。但是在mac上就会遇到端口无法使用导致项目启动不了的情况。

为了解决这种情况。我们可以使用端口转发的办法解决,通过pfctl做网络层的端口转发,让连接到本机80端口的请求,都转发到8088端口(8088端口可以自定义,这里我使用8088)

修改/etc/pf.conf,修改前先备份

sudo cp /etc/pf.conf /etc/pf.conf.normal.bak

进入编辑模式

sudo vim /etc/pf.conf

rdr-anchor "com.apple/*"后面添加配置

rdr on lo0 inet proto tcp from any to 127.0.0.1 port 80 -> 127.0.0.1 port 8088

注意:lo0 是通过ifconfig 看自己哪个网络设备绑定的是127.0.0.1, lo0是这个网络设备的名字,一般都是lo0。

配置文件示例图:

端口示例图:

接着执行如下命令:

sudo pfctl -d
sudo pfctl -f /etc/pf.conf
sudo pfctl -e

出现如下提示则表示配置成功

No ALTQ support in kernel
ALTQ related functions disabled
pfctl: pf not enabled

此时如果重启后转发会失效,故需要配置开机启动
编辑文件 /System/Library/LaunchDaemons/com.apple.pfctl.plist 添加如下配置:

<string>pfctl</string>
<string>-e</string>
<string>-f</string>
<string>/etc/pf.conf</string>

参考资料:https://www.jianshu.com/p/26ae3c5b7155


觉得内容还不错?打赏个钢镚鼓励鼓励!!👍