frp内网穿透+Nginx代理
frp 的作用(来自百度百科)
利用处于防火墙后的机器,对外网环境提供 http 或 https 服务。对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。利用处于防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司局部环境的主机。frp下载地址
下载地址:/fatedier/frp
frp中文文档
/docs/
部署服务端
编写frps.ini文件
[common]# 提供给客户端访问的监听端口bind_port = 7000# http类型的内网穿透必须设置vhost_http_port,并且所有的http类型的客户端都将通过同一个vhost_http_port访问vhost_http_port = 10244# 使用token的验证方式authentication_method = token# token密码token = xxxxxxxxxxxx# 查看服务器端连接情况的管理面板端口dashboard_port = 7500# 管理面板账号密码,默认admindashboard_user = admindashboard_pwd = admin
启动frp服务端(linux的话,要在后台运行的话,加&就可以了)
# 直接运行./frps -c ./frps.ini #后台运行./frps & -c ./frps.ini
客户端
编写frpc.ini文件
[common]server_addr = ip地址# 与服务端的bind_port一致server_port = 7000token = xxxxxxxxxxxx[react]# 穿透类型type = http# 被穿透的服务的端口local_port = 8899# 访问的公网域名custom_domains = 个人网址
启动客户端(windows不知道怎么在后台运行)
./frpc.exe -c ./frpc.ini
Nginx代理
Nginx下载地址:/en/download.html
通过Nginx可以把vhost_http_port的端口反向代理到二级域名的80端口
编写nginx配置文件
server {listen 80;listen [::]:80;server_name ;location / {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_pass http://localhost:10244;}}