如何让tomcat使用MacOS的80端口作为服务端口

本文讲述了在调试SpringBoot应用时,如何在MacOS的Apple电脑上解决因80端口权限问题而无法直接使用的问题,通过使用PFctl进行端口数据转发,将80端口请求重定向到9000端口,实现无端口号访问。

      在调试springboot程序时,它内置的tomcat服务端口默认为9000,这样每次访问它的web页面程序都要在地址后面加上9000这个端口号,就想着把它的服务端口号改为80,这样访问时web地址后面就不需要再加端口号了,因为不加的话默认就是80端口,但在苹果电脑下试了一下,单修改tomcat的服务端口还是用不了,经过一番折腾,终于找到了解决方法,分享给大家。

     苹果电脑MacOS的80端口默认是root权限的(小于1024的端口都需要root权限),普通用户是不能启用80端口服务的。在Mac上启用了一个9000端口的web服务,想通过80端口来访问这个服务,可通过将80端口数据转到9000端口来实现。

      要实现端口数据的转发需要用到一个MacOS自带的叫PFctl的东西,PFctlpacket filter controlUnix LIKE系统上进行TCP/IP流量过滤和网络地址转换的系统。以下是pfctl的部分命令:

# pfctl -d 关闭pf服务

pfctl -e 开启pf服务

pfctl -f /etc/pf.conf 载入pf.conf文件

了解完这些,下面开始正式干活了:

1、编辑/etc/pf.conf文件,这个文件内容长下面这个样子,在里面加入红色一行

scrub-anchor "com.apple/*"

nat-anchor "com.apple/*"

rdr-anchor "com.apple/*"

rdr pass inet proto tcp from any to any port 80 -> 127.0.0.1 port 9000

dummynet-anchor "com.apple/*"

anchor "com.apple/*"

load anchor "com.apple" from "/etc/pf.anchors/com.apple"

2、关闭pf服务

sudo pfctl -d

3、载入pf.conf文件

sudo pfctl -f /etc/pf.conf

4、启动pf服务

sudo pfctl -e

这样就大功告成了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值