• 准备工作
阿里云服务器一台,
已安装centos,git,go语言,
nginx端口占用了80,
开通了https占用了443
已备案域名一枚,已解析二级域名 demo.shanliwawa.top

本地客户端win10系统,运行php环境,端口80,服务器Apache+php,注意nginx会出错解析不了.
  • 下载frp
https://github.com/fatedier/frp/releases
国内 http://diannaobos.iok.la:81/frp/
服务器端选择 64位linux  frp_0.20.0_linux_amd64.tar.gz
客户端选windows64位 frp_0.20.0_windows_amd64.zip

服务器端只需要两个文件frps和frps.ini
解压到根目录下 frp文件夹 通过cd进入frp,进入目录执行,注意权限改为777

启动命令 ./frps -c ./frps.ini &
&表示关闭ssh一样运行
ini配置如下,4443是通信端口,客户端也必须相同,8081是服务器端口,因为80被nginx占用了,我们要用服务器端nginx反向代理,代理配置如下


[common]
bind_port = 4443
vhost_http_port = 8081
  • 反向代理配置
map $http_x_forwarded_for $clientRealip {
   "" $remote_addr;
   ~^(?P<firstAddr>[0-9\.]+),?.*$  $firstAddr;
}
server {
       listen 80;
       server_name demo.shanliwawa.top;
       location / {
           proxy_pass http://127.0.0.1:8081;
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $clientRealip;  # $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       }
}
  • 客户端配置
解压到D盘frp下,通过cd 进入到frp,只需要frpc和frpc.ini,配置如下,9.9.9.9是我的阿里云IP,4443和上边对应,启动命令:

frpc -c frpc.ini
软件不能关闭,关闭就不能访问了

[common]
server_addr = 9.9.9.9
server_port = 4443
 [web]
type = http
local_ip = 127.0.0.1
local_port = 80
custom_domains =demo.shanliwawa.top

现在就能通过demo.shanliwawa.top访问本地服务器了

标签: 内网穿透

评论已关闭