frp下载

背景 :

内网有一台服务器A 在NAT背后

无法被其他客户端访问

借助公网服务器B来配置内网透传

即可通过B来访问A

服务端安装frps 启动: ./frps -c frps.ini

配置文件frps.ini如下

[common]
subdomain_host = example.com # 为父域名
bind_port = 1234 # 为frp使用的端口
vhost_http_port = 8080 # 为外网服务器的端口
token = XXX # frp客户端和服务端token相同才可连接

客户端安装frpc 启动: ./frpc -c frpc.ini

配置文件frps.ini如下

[common]
server_addr = example.com # 为服务器地址
server_port = 1234 # frp端口
token = XXX # frp客户端和服务端token相同才可连接 [web] # 开启web转发服务
type = http # 方式: http
local_port = 88 # 本地服务的端口
subdomain = sub # 子域名
locations = / # 根

配置nginx的转发规则

配置nginxsudo vim /etc/nginx/nginx.conf如下

	underscores_in_headers on;
server{
listen 80;
listen [::]:80;
server_name sub.example.com; # 这里设置子域名转发规则
location / {
#underscores_in_headers on;
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://localhost:8080; # 这里是vhost_http_port
}
}

这样就实现了访问 sub.example.com

转发到本地的localhost:88

这里需要注意的是 nginx对http header中包含下划线的header信息都会过滤掉

所以需要添加 underscores_in_headers on; 才能转发自定义的header信息

05-13 16:09