frp内网穿透,搭建公共服务端
frp
是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, udp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。
以上是对frp的介绍,frp就是类似ngrock的开源程序,他的作用就是让你在本地开发的服务能够实时对外提供服务。
那我们如何搭建自己的frp服务呢?
请查看:最新frp配置最佳实践
准备材料:
- 一台拥有公网IP的VPS或云服务器。
- github frp,从这里下载一个能在服务器运行的压缩包,在服务器解压。当前最新版本为V0.20.0,以下也以该版本演示。
- 一个域名。
服务器设置
写一个tmp.ini配置文件如下:
[common]
# 服务器frp绑定端口
bind_port = 7000
# http服务所在端口
vhost_http_port=80
# 0.10.0版本后取消
# privilege_mode = true
# 被token代替
# privilege_token = token1
token = 12345678
# 服务器端流量统计
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin
接下来启动服务:
nohup ./frps -c tmp.ini >> log &
配置域名 [*.yourDomain.com]A记录解析到你的服务器IP。
本地设置:
下载一个能在你的计算机中运行的frp压缩包。解压并打开文件夹。
写一个配置文件frpc.ini
[common]
# 服务器IP地址
server_addr = yourIP
# 服务器端口
server_port = 7000
# 被token代替
# privilege_token=token1
token = 12345678
[web]
# web服务类型
type=http
# 本地端口
local_port=80
privilege_mode = true
# 自己指定的域名,该域名需要指向服务器IP
custom_domains=xxxx.yourDomain.com
# 添加basic验证
http_user = abc
http_pwd = abc
# 暴露内网ssh服务
[ssh]
type = tcp
local_ip = 127.0.0.1
# 本地ssh服务端口
local_port = 22
# 服务器映射端口
remote_port = 6000
# 加密与压缩
use_encryption = true
use_compression = true
# 提供简单的文件服务
[common]
server_addr = x.x.x.x
server_port = 7000
[test_static_file]
type = tcp
remote_port = 6001
plugin = static_file
# 要对外暴露的文件目录
plugin_local_path = /home
# 访问 url 中会被去除的前缀,保留的内容即为要访问的文件路径
plugin_strip_prefix = static
plugin_http_user = abc
plugin_http_passwd = abc
启动本地服务,然后访问xxxx.yourDomain.com,即可在这个域名上打开你本地提供的服务了。