Mac OS X 由于要绑定80port须要ROOT权限, 可是假设用root权限启动eclipse或tomcat又会造成, 启动创建的各类文件是root的,普通用户无法删除。
为此。 我们能够通过pfctl做网络层的port转发, 让连接到本机80port的请求。 都转发到9090port; (注意, Mac OS 会使用80port做网络文件共享, 要先关闭掉)
改动/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之后运行一下命令,让port转发生效
sudo pfctl -d
sudo pfctl -f /etc/pf.conf
sudo pfctl -e
在tomcat的配置中,设定启动port为9090
好了这样仅仅须要普通权限启动tomcat在9090port就可以, 訪问本地应用时直接訪问80port就可以。
版权声明:本文博客原创文章,博客,未经同意,不得转载。