在有公网ip的服务器上安装nginx和frps
nginx配置:
server {
listen 443 ssl;
server_name xxx.xxx.xxx; # 域名
ssl_certificate /xxx/xxx/xxx.pem; # 证书
ssl_certificate_key /xxx/xxx/xxx.key; # 证书密钥
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
# 最好写服务器的ip地址,不要写localhost和127.0.0.1,具体原因我也不太清楚
# proxy_pass http://ip地址:frps端口号;
proxy_pass http://xx.xx.xx.xx:7080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# root /usr/share/nginx/html/demo;
index index.html index.htm;
}
}
fprs配置:
bindPort = 7000
vhostHTTPPort = 7080 # 这个端口就是在上面nginx配置的反向代理端口
auth.method = "token"
auth.token = "xxxxxxx"
# web服务配置
webServer.addr = "0.0.0.0"
webServer.port = 7500
webServer.user = "admin"
webServer.password = "xxxx"
配置完了以后,在服务器防火墙放开上面配置用到的几个端口
然后去需要内网穿透的电脑上装一个fprc,如果内网的电脑也有防火墙,也要放开下面配置的这个几个端口
fprc配置
serverAddr = "xx.xx.xx.xx" # frps服务器地址
serverPort = 7000
auth.method = "token"
auth.token = "xxxxxxx"
# web服务配置
webServer.addr = "192.168.1.2"
webServer.port = 7400
webServer.user = "admin"
webServer.password = "xxxxx"
webServer.pprofEnable = false
[[proxies]]
name = "nas"
type = "http"
localIP = "192.168.1.2" # nas的ip
localPort = 8000 # nas的端口
customDomains = ["xxx.xxx.xxx"] # fprs服务器域名
|