内网穿透:使得局域网中的电脑暴露到公网当做,从未使得他人可以访问你的电脑中的文件。(口语化)
内网穿透条件(自建)
- 本机
- 公网ip:例如一台
vps
服务器,这里假设为111.168.111.1
服务端
- 下载
frp
frp下载地址
我的服务器是Centos系统,选择的是linux的包

-
解压
frp文件
- 配置
frps.ini
文件,frps.ini
文件是在服务端运行的。这里监听的端口号设8000(随意,不与nginx 矛盾就行)
[common]
bind_port = 7000 // frps绑定端口,默认7000
vhost_http_port = 8000 // frps 的监听端口号
- 运行
frp
nohup ./frps -c frps.ini &
- 查看运行信息 ,看是否运行成功
tail -f nohup.out
客户端 -- 本机
- 下载,我的是
mac
,下载第一个包
下载地址

- 解压,并配置
frpc.ini
,frpc.ini
是在客户端运行的。
// frpc.ini 配置
[common]
server_addr = 111.168.111.1 // 你的公网ip地址
server_port = 7000 // 与服务器监听端口一致
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
[web]
type = http
local_port = 9000 // 本地运行端口
custom_domains = 你的域名名称(需要设置解析路径,后面会提到)
3,运行
./frpc -c frpc.ini
- 在本地9000端口上运行你的服务器,通过
localhost:9000
查看是否运行成功 - 访问 公网ip 加监听的端口号,如
111.168.111.1:8000
,即可访问4步中相同的网站了
域名解析 + nginx 配置
- 如果你有自己的域名,可以添加域名解析,如
www.silence.com
指向你的公网ip111.168.111.1
- 这时访问时域名需加上8000的端口号才能访问,需要在nginx 上配置一下去除这个端口号
server {
listen 80;
server_name www.silence.com; // 你的域名
location / {
proxy_pass http://localhost:8000; // 你配置的8000端口
proxy_set_header Host $host:80; // 默认的80端口
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_hide_header X-Powered-By;
}
}
这时就可以通过 www.silence.com
直接访问你的电脑中的localhost:9000
里的文件了。
最后,可以看看这里,还可以实现很多其他的功能。。。
参考:
https://github.com/fatedier/frp/blob/master/README_zh.md#%E7%AB%AF%E5%8F%A3%E5%A4%8D%E7%94%A8
网友评论