mac用80端口访问nginx

想要自己玩服务器,pagekit是用来做测试的好东西,然而要把tomcat设到80端口又不合适了.
Mac OS X 因为要绑定80端口需要ROOT权限, 但是如果用root权限启动eclipse或tomcat又会造成, 启动创建的各类文件是root的,普通用户无法删除。

要用pfctl做网络层的端口转发, 让连接到本机80端口的请求, 都转发到9090端口;(注意,Mac OS 会使用80端口做网络文件共享, 要先关闭掉)

修改/etc/pf.conf, 使用sudo vim /etc/pf.conf
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 9090
添加rdr on lo0 inet proto tcp from any to 127.0.0.1 port 80 -> 127.0.0.1 port 9090 到pf.conf文件的rdr-anchor "com.apple/
" 这一行后面。

lo0 通过ifconfig 看自己那个设备绑定的是127.0.0.1, lo0是这个网络设备的名字。 修改好pf.conf之后执行一下命令,让端口转发生效

sudo pfctl -d
sudo pfctl -f /etc/pf.conf
sudo pfctl -e
在tomcat的配置中,设定启动端口为9090

好了这样只需要普通权限启动tomcat在9090端口即可, 访问本地应用时直接访问80端口即可。

作者:TEASON
链接:https://www.jianshu.com/p/58ec8f1e480d
來源:
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

你可能感兴趣的:(mac用80端口访问nginx)