一.背景:
需求:
本地启动项目用于debug,必须要用本机的80端口,但mac禁止了普通用户访问1024以下的端口,包括80端口,因为mac会用这些端口来提供文件共享等等很多服务解决方法:
设置端口转发,将80端口的请求转发到8080端口
二.hosts文件修改:
hosts文件是将域名和IP地址建立映射关系的系统文件,用户可以自定义常用域名跟IP,当在浏览器上输入网址时,系统会优先从hosts文件找到相应的IP地址,打开相应的网页
修改hosts:
sudo vi /etc/hosts
三.端口转发:
创建idea.tomcat.forwarding文件
cd /etc/pf.anchors
sudo touch idea.tomcat.forwarding
sudo vi idea.tomcat.forwarding
###添加内容
rdr pass on lo0 inet proto tcp from any to 127.0.0.1 port 80 -> 127.0.0.1 port 8080
rdr pass on lo0 inet proto tcp from any to 127.0.0.1 port 443 -> 127.0.0.1 port 8443
创建pf-tomcat.conf文件
cd /etc/
sudo touch pf-tomcat.conf
sudo vi pf-tomcat.conf
###添加内容
rdr-anchor "forwarding"
load anchor "forwarding" from "/etc/pf.anchors/idea.tomcat.forwarding"
启动转发
sudo pfctl -ef /etc/pf-tomcat.conf
启动成功提示
No ALTQ support in kernel
ALTQ related functions disabled
pfctl: pf already enabled
关闭转发
sudo pfctl -d
全部关闭
pfctl -F all -f /etc/pf.conf
重启mac,需要手动重启端口转发命令
sudo pfctl -ef /etc/pf-tomcat.conf