frp内网穿透
客户端配置如下:
serverAddr = "公网ip地址"
serverPort = 7000 #公网链接端口
auth.token = "123456" #保持跟服务端一样
[[proxies]]
name = "test-tcp"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6000
[[proxies]]
name = "web"
type = "http"
localIP = "127.0.0.1"
localPort = 80
customDomains = ["域名或ip地址"]
[[proxies]]
name = "kinit-mysql-30"
type = "tcp"
localIP = "127.0.0.1"
localPort = 23306
remotePort = 33062
服务端配置如下frps:
bindPort = 7000
auth.token = "123456"
# 服务端仪表盘的端口, 可以用浏览器访问查看
webServer.addr = "0.0.0.0"
webServer.port = 7500
# 服务端仪表盘的用户密码
webServer.user = "admin"
webServer.password = "admin"
# 虚拟主机端口
vhostHTTPPort = 8081
设置完成之后打开公网服务器配置nginx选项
server {
listen 80;
server_name 域名;
location / {
proxy_pass http://127.0.0.1:8081; # 转发到 frps 的 HTTP 代理端口
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_set_header X-Forwarded-Proto $scheme;
}
}
公网设置完成正常设置内网nginx
server {
listen 80;
server_name 域名;
# 前端存放路径
root /www/wwwroot/submit;
index index.html;
# 安全头
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
# 压缩
gzip_static on;
#brotli_static on;
# 路由处理
location / {
try_files $uri $uri/ /index.html;
# 禁止缓存HTML
add_header Cache-Control "no-cache, no-store, must-revalidate";
}
# 后端代理路径
location /prod-api {
proxy_pass http://127.0.0.1:8080; # 后端服务地址
# 关键代理头设置
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_set_header X-Forwarded-Proto $scheme;
}
# 静态资源
location ~* \.(?:js|css|png|jpg|jpeg|gif|ico|svg|woff2)$ {
expires 1y;
access_log off;
}
}
配置完成需要设置启动(客户端跟服务端相同变更服务名):
#创建 FRP 服务文件
sudo vi /etc/systemd/system/frpc.service
服务端配置示例(frps.service)
[Service]
Type=simple
# 这里配置你的frp的安装目录
ExecStart=/mnt/frp/frp_0.61.2_linux_amd64/frpc -c /mnt/frp/frp_0.61.2_linux_amd64/frpc.toml
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true
StandardOutput=syslog
StandardError=inherit
[Install]
WantedBy=multi-user.target
#赋值权限
sudo chmod 644 /etc/systemd/system/frps.service
#重载 systemd 配置
sudo systemctl daemon-reload
# 启动服务
sudo systemctl start frpc
# 设置开机自启
sudo systemctl enable frpc
# 检查状态
sudo systemctl status frpc
版权声明:
作者:lhylwl
链接:http://ye-w.cn/2025/04/15/51.html
来源:小凡笔记-我的技术记录
文章版权归作者所有,未经允许请勿转载。
THE END
二维码
打赏

