Dongxing's Wiki Dongxing's Wiki
首页
  • 剑指 Offer
  • LeetCode
  • 算法与数据结构
  • Python 语言
  • Web 开发
  • Hive
  • Elastic Search
  • 机器学习
  • NLP
  • 检索技术
  • 数据分析
  • 经验笔记
  • Linux 配置
  • 博客进化记
  • 杂谈
GitHub (opens new window)
首页
  • 剑指 Offer
  • LeetCode
  • 算法与数据结构
  • Python 语言
  • Web 开发
  • Hive
  • Elastic Search
  • 机器学习
  • NLP
  • 检索技术
  • 数据分析
  • 经验笔记
  • Linux 配置
  • 博客进化记
  • 杂谈
GitHub (opens new window)
  • 博客进化记

    • hexo博客搭建小记
    • 终于,忍不住自己造轮子做了一个博客系统。
    • Typecho 环境配置和博客搭建
    • VuePress搭建Wiki站
  • 杂谈

    • neo4j的Cypher查询语法笔记
    • 短域名站点 aka.ci
    • 服务计算课程总结
    • 校招经验笔记
  • HomeLab搭建小记

    • 碎碎念
    • 搞定公网访问
  • 杂谈
  • HomeLab搭建小记
anthony
2023-08-20

搞定公网访问

如果纯是局域网访问, Home Lab 上很多服务未免没有发挥多少用处。由于租房也不想折腾公网 IP,所以采用 FRP 内网穿透的方案来进行。

这篇文章 https://juejin.cn/post/7024392277380300808 就完美匹配我的需求,按照同样的方法,就可以实现通过二级域名访问 Home Lab 各个不同的服务了。

需求是有一个域名 example.com,希望通过不同的二级域名来访问不同的内网服务,例如 jellyfin.example.com。而且这些域名最好都有 https,直接在 Let‘s Encrypt 可以搞到通配符证书。

实现上,需要有一台公网服务器。思路是,公网服务器入口是 nginx,nginx 中配置规则,对 *.example.com 都映射到 frps , frps 再与 frpc 进行通信,frpc跑在家用服务器上,根据域名,frpc 会将请求发到不同的端口。

这种方案的好处,一个是二级域名清晰便于记忆,而且通过 nginx 转发,都是 80 端口,不需要区分乱七八糟各种端口,并且都有 https;另一个好处是配置完之后改动容易,要加新的服务,其实只需要调整 frpc 的配置即可。因为公网服务器的 nginx 是通配符转发到 frps 的,而且 https 也是通配符证书,所以公网服务器完全不需要后续调整了,基本上家庭服务器启动新的服务之后,只需要改 frpc 配置这一个地方,加一项新的端口规则就好。

另外有一点是是公网服务器的 nginx 配置文件中,通配符映射放在最后,在前面可以手动指定一些别的映射规则,例如 frps 自带一个 web UI 的后台,这个是运行在公网服务器上的,所以可以在 nginx 中指定一项二级域名,用来访问这个后台。

碎碎念

← 碎碎念

Theme by Vdoing | Copyright © 2017-2023 anthony 京ICP备17072417-3
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式