情况描述:在mac os中,非root用户是无法使用小于1024的常用端口的。如果开发中需要用到80端口, 就要设置端口转发。
解决方法:端口转发
步骤:
1、.创建idea.tomcat.forwarding文件 :
sudo vim /etc/pf.anchors/eclipse.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
2、创建pf-tomcat.conf文件 :
sudo vim /etc/pf-tomcat.conf
编辑文件内容为下面这段
3、启动端口转发功能
sudo pfctl -ef /etc/pf-tomcat.conf
执行结果如下:
root@maMacBook-Air etc# sudo pfctl -ef /etc/pf-tomcat.conf
pfctl: Use of -f option, could result in flushing of rules
present in the main ruleset added by the system at startup.
See /etc/pf.conf for further details.
No ALTQ support in kernel
ALTQ related functions disabled
pf enabled
假设你的工程 http://localhost/myWeb.html 这时访问你的web工程, 你会发现 http://localhost/myWeb.html 这个不需要8080端口即可访问,加上 http://localhost:8080/myWeb.html 访问不了。
4、关闭
sudo pfctl -d
执行结果
root@ymdeMacBook-Air etc# sudo pfctl -d
No ALTQ support in kernel
ALTQ related functions disabled
pf disabled
这时你访问你的web工程, 你会发现 http://localhost/myWeb.html 这个访问不了,加上 http://localhost:8080/myWeb.html 即可访问。
或者全部关闭
pfctl -F all -f /etc/pf.conf
注意事项:
重启mac,需要手动重启端口转发命令
sudo pfctl -ef /etc/pf-tomcat.conf
小伎俩:通过eclipse启动tomcat,可以正常启动,使用80端口(记住关柯基),但是通过IDEA启动tomcat,会显示80端口被占用,试过网上很多方法,只有使用命令行root权限启动IDEA,在通过IDEA启动tomcat才正常启动