Frp 内网穿透

Frp

服务端配置

bindPort = 7000
vhostHTTPPort = 7001

# webserver
webServer.addr = "0.0.0.0"
webServer.port = 7002
webServer.user = "username"
webServer.password = "password"

Nginx配置

# webserver.conf
server {
  listen 80;
  listen [::]:80;
  server_name frp.domain.com;
  # 重写到https:
  rewrite ^(.*)$ https://$host$request_uri;
}
server {
  listen 443 ssl;
  listen [::]:443 ssl;
  server_name frp.domain.com;
  include /etc/nginx/ssl/common.conf;
  location / {
    # 转发到本地7002端口
    proxy_pass http://127.0.0.1:7002/;
  }
}

# real-frp.conf
server {
  listen 80;
  listen [::]:80;
  server_name chat.domain.com;
  # 重写到https:
  rewrite ^(.*)$ https://$host$request_uri;
}
server {
  listen 443 ssl;
  listen [::]:443 ssl;
  server_name chat.domain.com;
  include /etc/nginx/ssl/common.conf;
  location / {
    # 转发到本地7001端口
    proxy_pass http://127.0.0.1:7001/;
    proxy_set_header Host $host:7001;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
  }
}

客户端配置

serverAddr = "1.1.1.1"
serverPort = 7000
webServer.addr = "127.0.0.1"
webServer.port = 80

[[proxies]]
name = "example"
type = "http"
localIP = "127.0.0.1"
localPort = 5000
customDomains = ["example.domain.com"]