1Panel之间嵌套雷池

由于云服务器 2c2g 性能拉跨,已经难以支撑雷池的运行。

缘由

手里有台云服务器,家里还有一台高性能服务器。
一开始,我认为雷池作为入口保护 80/443 页面服务,便在云服务器中安装了雷池服务,转发服务到高性能服务器。
刚开始 2c2g 的服务器还能抗住雷池的运行,慢慢的日已累计数据日志,造成拖垮服务器的罪魁祸首。

按照日请求量 10.4K 经过长时间的积累,雷池目录已经达到 1GB之多的占用

所以奉劝一句,没有必要的话,1panel 的waf足够使用了。

迁移雷池

原来的结构模式,看似很美好

调整后的结构模式,不错不错

这两者的关系,就像是光猫和路由器的关系。
原来是:光猫(云服务器)既要承担光转电(监听80/443),还好处理拨号上网,路由管理(雷池的保护服务),路由器承担内网设备请求转发(站点服务)。
现在是:光猫只承担光转电(转发80/443),路由器承担拨号上网,路由管理(雷池保护服务,站点服务)

那么,无论雷池多么消耗性能,也无需担心,被迫造成服务器宕机。

遇到的问题

此次迁移,影响最小的就是高性能服务器,由雷池转发的服务,均在 80/443 端口上, 所以将雷池迁移到高性能服务器上,需要改动的仅仅为 雷池的监听服务。
原来的雷池直接监听云服务器的 80/443,由于高性能服务器也使用 80/443 就会造成冲突,。
迁移前,需要将雷池的监听端口全部改为 8080 (只要不与高性能服务器的端口冲突即可)
然后停止雷池服务。
将目录 /data/safeline 目录压缩,下载到高性能服务器中。
将其解压到 /data/safeline 中。与云服务器目录保持一致,在高性能服务器中启动雷池服务就完成了本次迁移。

云服务器的转发

由于云服务器关闭了雷池,那么就需要安装 Nginx 之类的服务转发 80/443 ,为此,之间在云服务器安装1Panel 面板即可,通过 OpenResty 的反向代理,处理所有网站。

证书

原本的雷池,还承担了证书签发的作用,由于修改监听端口为 8080 那么原本的证书也就没有什么用,可忽略不计。
在云服务器的1Panel面板中再次申请一遍证书,证书管理还是交给云服务器管理。

迁移后的问题

  1. 网站过多
    太多的网站部署,迁移后最麻烦的就是这些网站的证书申请与网站配置。
    1Panel面板证书申请页面虽然可以 从网站中获取 ,但是申请成功后,还是需要手动去网站设置中开启HTTPS
  2. 重定向次数过多
    这次的迁移是将原来的 雷池 >> 1Panel 的模式改为 1Panel >> 雷池 >> 1Panel
    由 2个nginx 增加到3个 nginx,出现此问题,肯定是在所难免的。
    所以需要注意以下问题。
  • 云服务器的反向代理 ($host 不能缺少)
  • 雷池 (Version 6.7.0)
    • 源 IP 获取方式 将不能从 网络链接中获取 因为当前雷池不是顶级代理服务
    • HTTP 跳转 HTTPS 一定是关闭状态,雷池已经不负责证书的管理
    • 代理时修改请求中的 Host 头 此处与 云服务器反向代理保持一致,否则转发后不能正常提供服务。

写在最后

配置过程中会遇到很多千奇百怪的事情,那就一件件去解决它!

此教程,仅供参考,交流学习使用。

如果你遇到了修改配置不生效,那一定是反向代理缓存搞的鬼

当你的网站为 http 那么,一定不要使用最新版 Chrome 浏览器,强制跳转https,已经为默认配置。

已知存在的Bug或问题

  • 1Panel 站点 默认页面 修改不生效,重启后恢复默认配置。

  • 访问 1Panel OpenResty 的 {ip}:443 端口 无法正常使用
    image

  • 如果云服务器1Panle配置了默认站点,并在DNS中解析了新的域名指向您的云服务器,但是没有配置该域名站点
    那么你也无法正常访问,虽然你配置的默认站点,但是他们之间的证书与域名不匹配,页面也不会跳转到默认站点。你将会看到


    其次时 HSTS 技术,就算你关闭默认站点的 HSTS。
    下一关雷池,你依旧无法正常通过,因为雷池没有默认站点的概念。
    这里最好哦的办法,还是在云服务器的1Panel中,没有匹配到站点域名时,进行301 302 的跳转,最直接。

1 个赞

解答了我一个困惑,原理雷池要设置取上一级地址 :rofl:

我的架构:cloudflare->雷池->网站应用,用得挺好没发现有什么问题。

cloudflare 已经过滤了一部分,主要看数据处理量
日志记录过多,本地存储的数据过多,小服务器根本承受不住查询,读盘