内网服务器使用宝塔面板利用frp实现外网访问

全屏阅读
  • 基本信息
  • 作者:
  • 作者已发布:924篇文章
  • 发布时间:2022年10月07日 5:38:09
  • 所属分类:Linux
  • 阅读次数:1658次阅读
  • 标签:

此方法已测试不支持使用强制 https 协议,如过您有更好的解决办法请联系,谢谢!

  • 情景还原

    准备搭建本地的 linux 服务器,安装宝塔面板来做开发环境,这样就不用项目上线时在进行兼容调试,一般来说,项目都是运行在 linux 服务器上的。

    安装好宝塔面板后,需要实现外网访问,一般来说,调试微信小程序、各种支付接口等等都是需要外网访问权限的,准备使用 frp 去做,因为个人有个 3 年的华为云服务器还在使用中。

    为什么不直接使用线上服务器?好吧,也是是考虑到项目资料越来越多,即使服务器到期时间还很久,那么对应的后期服务器续费或者服务器搬家都是不小的成本,所以说还是准备使用本地来搭建开发环境(之前也是一直在使用服务器当做开发环境)。

  • 重复造轮子?

    宝塔面板已知有 frp 插件,包含服务端和客户端,这里我也购买了一个月试用,但是!!!同样不支持 https 协议,即使映射了 443 端口。不清楚作者后续会不会更新,目前来说,即使收费还满足不了我们的要求,那就自己安装一个吧。

  • 准备工作

    公网服务器一台(可安装宝塔面板)

    内网服务器 (安装宝塔面板)

    域名

    因 GitHub 下载比较慢,这里放上离线包,直接解压就会得到客户端和服务端文件(后续新版不在更新此包)

  • frp 包下载frp_0.13.0_linux_amd64.tar.gz

  • 实现效果

    泛域名解析到公网服务器,利用 nginx 转发来实现泛域名内网穿透,除了不能 https 几乎没有差别,直接可以在内网服务器添加网站,域名直接填也不用在解析啦。

  • 教程开始

  • 我们首先将得到的 frp 包文件分析下:

    frps做文件名的是服务器文件 frpc 是客户端文件,显然我们将这两部分文件全部分别上传到两个服务器上,这里我建议搭建上传到服务器的/usr/local/frp 文件夹内(没有自行创建)统一管理。

  • 接下来配置 frps 服务端文件,编辑 frps.ini,内容填写如下(此文件内端口必须在安全组开放)

[common]bind_addr = 0.0.0.0
bind_port = 7800
vhost_http_port = 6082
vhost_https_port = 6083
  • 然后cd 到 frp 目录下,使用命令./frps -c ./frps.ini 一次性启动 frp 开始观察是不是有错误信息等等(更多 frp 启动指令包含自启等自行查询其他资料)

  • 开始配置 frpc 客户端文件,编辑 frpc.ini,内容填写如下

[common]server_addr = 服务器IP地址
server_port = 7800
login_fail_exit = false
[web]  
type = http
local_ip = 127.0.0.1
local_port = 80
custom_domains = *.frp.tra56.com(你的域名,这里因为要做泛域名 frp 所以 dns 解析域名也是要做泛域名解析)
    • 接着使用命令 ./frpc -c ./frpc.ini 启动客户端,这样内网穿透就成功了。

  • 接下来就是配置泛域名

    在 dns 解析域名记录填写 *.frp  那么你最后的域名就是 xxx.frp.xxx.com  

    在服务器端宝塔面板新建一个网站,域名填写*.frp.xxxx.com 例如

  • image.png

    准备添加伪静态进行反向代理转发

    location ~ .* {
      proxy_set_header        X-Real-IP $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header        Host $http_host;
      proxy_set_header        X-NginX-Proxy true;
      proxy_pass               # 这里注意域名和端口 }
    • 基本大功告成了,现在在内网服务器上添加一个已 frp.xxx.com的 域名吧,添加完成后直接访问是不是直接访问啦,惊不惊喜?后续只需要添加这类域名后缀后是不需要解析直接就访问内网了。

    • 后记

      在正式开始 frp 使用时,启动命令后面加上一个&否则会很卡哦,开机自启脚本什么的网上一大堆,配置优化什么的可以自己在玩玩吧。

    • 没有服务器怎么办?

      我接下来就去看看 NATAPP 这款收费的内网穿透客户端,9 块钱一个月感觉据说支持 https,我去试试水,还是那句话”生命不息,折腾不止!“

    顶一下
    (0)
    100%
    订阅 回复
    踩一下
    (0)
    100%
    » 郑重声明:本文由mpxq168发布,所有内容仅代表个人观点。版权归恒富网mpxq168共有,欢迎转载, 但未经作者同意必须保留此段声明,并给出文章连接,否则保留追究法律责任的权利! 如果本文侵犯了您的权益,请留言。

    目前有 0 条留言 其中:访客:0 条, 博主:0 条

    给我留言

    您必须 [ 登录 ] 才能发表留言!