tmtony 发表于 2020-2-19 12:29:43

frp实现内网穿透(没有公网IP的利器)

frp内网穿透,可以使用域名,也可使用IP, 一般来讲,域名比较好记。所以有域名的话尽量使用域名,实在没有域名的话才使用IP。
由于web服务一般均会使用80端口,如果80端口是否被nginx或其它web 服务占用的话,则要改成其他端口,如8080,也可使用nginx的反向代理实现frp服务端与nginx共用80端口。
frp实现内网穿透(没有公网IP的利器)

一、内网穿透配置以下文章中 frps就是服务器端(server),frpc就是客户端(client)。

1.有自己域名的FRP配置

# frps.ini服务端配置

bind_addr = 0.0.0.0
bind_port = 7000
privilege_token = abcdefghijk
vhost_http_port = 80
vhost_https_port = 443


vhost_http_port = 80 和 vhost_https_port = 443 将服务器的80端口做http,443端口做https 原理就像nginx一样,可以多个网站共同使用这两个端口。

#frpc.ini客户端配置


server_addr = 服务端IP
server_port = 7000
privilege_token = abcdefghijk


type = http
local_port = 80
local_ip = 127.0.0.1
custom_domains = www.52help.net


type = https
local_port = 443
local_ip = 127.0.0.1
custom_domains = www..52help2.net

这里的 www.52help.netwww.52help2.net两个域名要真实存在,且要在域名解析里将指定域名解析到frps服务端的IP上。

custom_domains = 这里填写你已经解析到frps服务端IP上的域名,自己每个穿透对应服务,都可以绑定一个专属域名用于访问,包括使用tcp和udp协议。

然后就可以通过这个已经自定义域域名访问到自己的对应HTTP服务。


2.只有IP,没有自己域名的配置

如果自己没有域名,但又想使用FRP实现内网穿透到我的HTTP服务

frps.ini服务端配置

# frps.ini


bind_addr = 0.0.0.0
bind_port = 7000
privilege_token = abcdefghijk

# frpc.ini客户端配置

server_addr = 服务端IP
server_port = 7000
privilege_token = abcdefghijk


type = tcp
local_port = 80
local_ip = 127.0.0.1
remote_port = 8080

然后就可以通过 服务端IP地址:8080 来访问访问到对应穿透的服务。

tony8 发表于 2020-2-21 17:58:30

谢谢楼主分享。

dahaiyuan 发表于 2020-6-21 16:46:22

一头雾水,在哪里输入这些代码?有什么软件连接?NAS可以用吗?

dahaiyuan 发表于 2020-6-23 19:09:59

哪里抄的,没头没尾看不懂

lenxue1214 发表于 2020-10-23 16:17:07

很好的教程:D
页: [1]
查看完整版本: frp实现内网穿透(没有公网IP的利器)