在web开发过程中,如果是前后端分离进行开发,前端资源发布到服务器后,访问前端页面,前端页面请求服务端资源,在这种情况下我们需要调试就只能使用remote方式进行远程debug了,远程调试肯定不如本地调试来的方便和快捷,那么我们怎么请求前端资源时访问到本机的服务呢?
其实很简单,将前端请求的域名地址绑定到本机,本机启动服务即可,但是由于http协议的默认访问端口是80,而mac下绑定80端口又需要root权限,这时候我们只需要将80端口转发到本地应用监听的端口号即可。
如何实现本地调试具体步骤:
第一步:配置端口转发
- 在
/etc/pf.anchors/
目录下新建文件http.forwarding
(文件名可随意指定)
文件内加入内容
rdr pass on lo0 inet proto tcp from any to any port 80 -> 127.0.0.1 port 7001
将连接到80端口的请求转发到本机的7001端口,(7001)为本地应用监听的端口号 - 在
/etc/
目录下创建文件pf-http.conf
文件
文件内加入
rdr-anchor "http.forwarding"
load anchor "http.forwarding" from "/etc/pf.anchors/http.forwarding"
- 执行
sudo pfctl -F all -ef /etc/pf-http.conf
让端口转发生效 - 执行
sudo pfctl -s nat
查询端口转发是否生效
如果出现rdr-anchor "http.forwarding" all
说明转发已经生效
第二步 配置host
- 绑定本地host,如果前端访问域名为xxx.xxx.com,修改
/etc/hosts
文件,加入127.0.0.1 xxx.xxx.com
即可
第三步 启动应用
- 启动应用,配置应用监听的端口号为7001接口,开启愉快地本地debug旅程~