记录第一次使用Frp内网穿透

后端 2021-11-04

今天向同事请教了个高级的frp内网穿透,可以直接让外部用户通过我服务器的IP或者解析的域名访问我本地的项目。

关键还可以使用未备案的域名也可以进行访问呢。真是太神奇太棒了。

而且访问速度取决于你的服务器速度。我的服务器是8M带宽访问起来相当的给力,不再像花生壳那个限制带宽,访问WEB还有广告的东西了。

关于应用场景我想好了几点:

1、我web开发比较多,可以直接给我的上帝们预览他们的网站,一边开发一边调试。
2、自己的一些小项目或者小下载也可以使用到,非常便捷。

安装流程:
1、服务器命令安装frp,然后通过腾讯云修改防火墙端口
2、配置本地端映射,并运行phpstudy。
访问成功。

记录一下接下来需要查询的几条命令:

安装

服务端文件在:/etc/frp/frps.ini
查询启动和停止服务端frps
ExecStart=/usr/bin/frps -c /etc/frp/frps.ini
systemctl status frps.service
systemctl start frps.service
systemctl stop frps.service

注销掉openVPN的这行
# setenv opt block-outside-dns # Prevent Windows 10 DNS leak

服务器创建openvpn用户:
oulu
home_oulu
lc106196

还有一个网上提供免费的:
http://freefrp.wlphp.com/

补充(2021-11-06):

[common]
# 这里填写 A 机器的 IP 或者域名
server_addr = 10.0.0.60
# 填写 A 机器开放的 frp 服务端口,也就是 frps.ini 配置文件中 bind_port 的值
server_port = 7000

[example_http]
# 依然支持 http 访问
type = http
# 本地 Web 服务的端口
local_port = 7500
# 需要反向代理的域名(当访客通过此域名访问 A 机器时,才会将请求反向代理到此 Web 服务)
custom_domains = frp.oulu.me

[example_https]
# 配置 https 访问
type = https
# 本地 Web 服务的端口(与前面的配置一样,都对应同一个 Web 服务)
local_port = 7500
# 需要反向代理的域名(当访客通过此域名访问 A 机器时,才会将请求反向代理到此 Web 服务)
custom_domains = frp.oulu.me

# 接下来的配置是支持 https 的重点配置
# 配置插件,将 https 请求转换成 http 请求后再发送给本地 Web 服务程序
plugin = https2http
# 转换成 http 后,发送到本机的 10000 端口
plugin_local_addr = 127.0.0.1:7500
# 可能是 frp 的 Bug?这里必须写成 127.0.0.1,稍后解释
plugin_host_header_rewrite = 127.0.0.1
# 指定代理方式为 frp
plugin_header_X-From-Where = frp
# 指定成你在前面部分导出的证书的路径
plugin_crt_path = /Users/chen/Documents/key/me.crt
plugin_key_path = /Users/chen/Documents/key/me.key