Amaze UI Logo

码动指尖



frp配合nginx域名穿透本地

frp配合nginx域名穿透本地


http方式的域名穿透: 


1. 问题:在某些情况下,比如我在开发微信公众号的时候,需要及时调试,但是用的是golang,而且实际上无论什么语言,就算我加上了自动部署,也会消耗很多时间,包括看日志,debug定位,都会花费很多功夫,于是用内网穿透,调试的时候直接访问本地的程序,岂不美滋滋。


2. 安装frp

(1) mac上面安装客户端 frpc

    到 https://github.com/fatedier/frp 查看,会发现 https://github.com/fatedier/frp/releases/ 并没有macos版本,于是看一下源码,有Makefile,很明显了,自己编译,别个还是go写的,那更美滋滋了,git clone 下来直接make,完了之后会发现有个bin目录,里面就有可执行文件frpc。

(2) Linux安装

    这个很简单,直接到 https://github.com/fatedier/frp/releases/ 选择对应版本下载之后,解压,开包即用。

(3) Windows安装

    同Linux


3. 服务端配置文件

执行vim frps.ini,写入以下内容


[common]
subdomain_host = example.com # 这里是域名,最高一级的
bind_port = 7000 # frps启动运行的端口
vhost_http_port = 7001 # 要转发监听的 端口,这个应该与nginx反向代理的端口一致
token = xxx # 这个token相当于口令密码,客户端要与服务端一直才可成功连接


4. 客户端配置文件


[common]
server_addr = 192.168.0.1 # 服务器地址(请填成你自己的)
server_port = 7000 # 服务器启动的端口
token = xxx

[web]
type = http # 转发协议类型
local_port = 7001 # 本地处理端口,也就是要映射到的端口,所有转发请求都会走这个端口
subdomain = sub # 子域名
locations = / # 配置域名映射过来是根


5.nginx配置


   server {
listen 80;
server_name sub.example.com;
location / {
# 以下三句的proxy_set_header 必须加上才可以
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:7001/;
}
}


6.启动服务

首先启动服务器: 

frps -c frps.ini

客户端:             

frpc -c frpc.ini


nginx:

重启:sudo nginx -s reload
启动:sudo nginx



https方式的域名穿透:

这里说最简单的, 服务器有证书,并且成功访问https域名

1. 服务端配置:

[common]
bind_port = 7000 # frps启动运行的端口
vhost_http_port = 7001 # 要转发监听的 端口,这个应该与nginx反向代理的端口一致
token = xxx # 这个token相当于口令密码,客户端要与服务端一直才可成功连接


2. 客户端配置:

[common]
server_addr = 192.168.0.1 # 服务器地址(请填成你自己的)
server_port = 7000 # 服务器启动的端口
token = xxx

[web]
type = http # 转发协议类型
local_ip = 127.0.0.1
local_port = 7001 # 本地处理端口,也就是要映射到的端口,所有转发请求都会走这个端口
custom_domains = sub.example.com # 自定义域名


3.启动服务

首先启动服务器: 

frps -c frps.ini

客户端:             

frpc -c frpc.ini


nginx:

重启:sudo nginx -s reload
启动:sudo nginx



现在本地项目跑起来,然后通过域名访问一波,通过,完美。


 nginx

作者  :  奕弈

喵喵喵,你在心上



评论


About ME

about me

奕弈

为了最初的心,努力奋斗,从不懈怠的学习。

我不想成为一个庸俗的人。十年百年后,当我们死去,质疑我们的人同样死去,后人看到的是裹足不前、原地打转的你,还是一直奔跑、走到远方的我?

Contact ME