内网穿透说起来也算不上什么高深的技术,随着近些年微信公众号、支付宝生活号、小程序等新形态应用的持续火热,处于内网开发环境外网无法访问一直困扰着不少开发者。如何将内网服务暴露给外网访问?早些年的国产代表作有花生壳(收费),Github上开源产品有Ngrok、Frp等,本篇主要介绍如何在Linux上使用Nginx反向代理Frp公用80端口。
安装Frps
1.出门右拐百度:Frp一键安装脚本
2.使用AppNode:强力推荐(目前免费)
优雅的使用AppNode可视化配置
AppNode是一款完全免费完全可视化的Linux运维控制面板,基于Go语言开发占用极低的内存消耗,极大的方便了我们使用Linux操作系统。
Frps服务器端配置
[common] bind_port = 65535 bind_addr = 0.0.0.0 kcp_bind_port = 65535 subdomain_host = frp.xuchengen.cn privilege_token = !@xuchengen@! privilege_allow_ports = 65000-65999 dashboard_port = 65534 dashboard_user = demo dashboard_pwd = demo vhost_http_port = 8080 max_pool_count = 128 tcp_mux = true
Nginx反向代理Frps服务
server { listen 80; server_name *.frp.xuchengen.cn; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host:8080; location ~* \.(js|css|jpg|gif|png|bmp|swf)$ { expires 30d; } location ~* \.(zip|rar|jpg|gif|png|bmp|swf|flv)$ { valid_referers none blocked server_names; } } }