经验分享

【已解决】frp代理内网websocket,结合nginx使用

本文章向大家介绍frp代理内网websocket,结合nginx使用,主要包括frp代理内网websocket,结合nginx使用使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

A主机,带有公网ip,安装有nginx,ip解析到域名www.a.com
B主机是局域网内的一台主机,部署有一套前后端分离的项目,vue+springboot,安装有nginx

A主机中frps.ini配置参数如下:

[common]
bind_addr = 0.0.0.0
bind_port = 7000
vhost_http_port = 6099
authentication_method = token
token = 12345678
heartbeat_timeout = 90
user_conn_timeout = 10
tcp_mux = true

B主机中frpc.ini配置参数如下:

[common]
server_addr = x.x.x.x # A主机IP
server_port = 7000
authentication_method = token
token = 12345678
protocol = tcp
tcp_mux = true

[web]
type = http
local_port = 80 # 这个端口是B主机上安装的nginx端口
custom_domains = www.a.com # A主机IP对应的解析域名
locations = /

A主机上nginx配置如下:
牵涉到80端口问题,所以配置的是nginx和frp共享80端口

server {
    listen 80;
    server_name www.a.com;
    location / {
        proxy_pass http://127.0.0.1:6099; # 监听的是frps中vhost_http_port配置的端口
        proxy_redirect http://$host/ http://$http_host/;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $host;
    }
}

B主机上nginx代理配置如下:

http { 
    ....
    map $http_upgrade $connection_upgrade {
        default upgrade;        ''   close;
    }

    server {
        listen       80;
        server_name  x.

原创不易,完成人机校验,阅读全文

相关推荐