目录
frp内网穿透、并通过nginx进行反代
/      

frp内网穿透、并通过nginx进行反代

frp内网穿透

frp实现内网穿透:http://blog.lacknb.cn/articles/2019/11/13/1577974146959.html

主要 为了在公网调试本地程序。

之前 弄微信公众号后台的时候,有这个需求微信公众号的接口 需要 是80端口的 公网地址。

通过nginx进行反代

通过正常的思路进行反代,可能导致 网站无法访问。

image.png

就像这样。

frp服务端 tcp 使用的7000端口,http不想用80端口,但又想用80端口访问。

这里服务端默认使用7001端口。

[common]
server_addr=x.x.x.x
server_port=7000
token=123456

[web]
type=http
local_ip=127.0.0.1
local_port=8080

custom_domains=www.yourdomain.com

正常情况下,frp 客户端是这样配置的。

nginx.conf 如下配置

server { listen 80; server_name www.yourdomain.com; location / { proxy_pass http://ip:7001; } }

通过www.yourdomain.com 反代到 7001端口,访问 本地的项目。

实际上这样配置会 访问不到。

解决办法有两个。

  1. 第一种

将 nginx配置文件 反代的ip 改成www.yourdomain.com:7001 如下

server { listen 80; server_name www.yourdomain.com; location / { proxy_pass http://www.yourdomain:7001; } }

这样就可以解决。

  1. 第二种

将frp客户端的 frpc.ini中的domains 修改成 127.0.0.1

  • nginx
server { listen 80; server_name www.yourdomain.com; location / { proxy_pass http://127.0.0.1:7001; } }
  • frp客户但的frpc.ini
[common] server_addr=x.x.x.x server_port=7000 token=123456 [web] type=http local_ip=127.0.0.1 local_port=8080 custom_domains=127.0.0.1

这种有个好处,就是7001端口 不需要开启,就可以正常使用。

最后

总之来说,就是客户端中 域名的配置,要和nginx的 反代的一致。


标题:frp内网穿透、并通过nginx进行反代
作者:gitsilence
地址:https://blog.lacknb.cn/articles/2021/01/03/1609682668100.html

Gitalking ...