Mac下调试80端口

2022-08-11  本文已影响0人  不做null

背景
unix系统默认不开发1024以下端口的权限,那么我们有些场景必须要使用80端口进行开发,那么除了用sudo root权限外还有什么方式可以连接调试这端口呢?

需求:vue项目开发中,有个登录功能,为解决跨域问题,修改hosts使用ip和域名进行映射,使用域名进行本地加载网页调试接口,但是要使用80端口

本文主要介绍2种方法:

一、使用pf做端口转发
Linux下使用iptables进行端口转发,mac下使用pf做端口转发,在这里附上我的配置项,亲测可用,网上查到的大多数有问题。
(1)首先在指定目录下新建文件

cd /etc/pf.anchors

(2)新建port文件写入内容:

# 文件内容写入
sudo vim /etc/pf.anchors/port
# lo0代表网卡的名称(一般都是lo0),将80端口转发到8080 (8080根据实际启的端口修改;127.0.0.1根据时期启动的ip修改)
rdr pass on lo0 inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080

(3)使用以下命令检查语法是否有错误如果没错会直接输出文本(检查步骤2中配置是否有问题)

sudo pfctl -vnf /etc/pf.anchors/port

没问题参考下图:


23123.png

(4)在主配置中引入我们的配置,注意一定要注意顺序,否则会报错

# 打开主配置文件
sudo vim /etc/pf.conf
# 在rdr-anchor "com.apple/*"下一行添加
rdr-anchor "port"
# 在load anchor "com.apple" from "/etc/pf.anchors/com.apple" 下一行添加
load anchor "port" from "/etc/pf.anchors/port"

完整的配置项参考下图:


12312312.png

(5)接下来使用以下命令重启配置项,网上的命令大部分已经过时了在macosx version > 10.10.3下是无效的。相关操作命令:

# 启动端口转发
sudo pfctl -evf /etc/pf.anchors/port
# 关闭配置的端口转发
sudo pfctl -d
# 设置pf开机自动打开
sudo pfctl -e

二、使用nginx做端口转发
(1)安装nginx

brew install nginx

(2)启动nginx

sudo nginx

(3)修改nginx配置项

vim /usr/local/etc/nginx/nginx.conf

(4)添加以下配置

server {
    listen 80;
    server_name localhost;
    location:{
        proxy_pass:127.0.0.1:8080
    }
}

(4)重启nginx

sudo nginx -s reload

之后我们再访问80端口时就会自动转发到8080端口

上一篇 下一篇

猜你喜欢

热点阅读