Eswlnk Blog Eswlnk Blog
  • 资源
    • 精彩视频
    • 破解专区
      • WHMCS
      • WordPress主题
      • WordPress插件
    • 其他分享
    • 极惠VPS
    • PDF资源
  • 关于我
    • 论文阅读
    • 关于本站
    • 通知
    • 左邻右舍
    • 玩物志趣
    • 日志
    • 专题
  • 热议话题
    • 游戏资讯
  • 红黑
    • 渗透分析
    • 攻防对抗
    • 代码发布
  • 自主研发
    • 知识库
    • 插件
      • ToolBox
      • HotSpot AI 热点创作
    • 区块
    • 快乐屋
    • 卡密
  • 乱步
    • 文章榜单
    • 热门标签
  • 问答中心反馈
  • 注册
  • 登录
首页 › 日志 › 「日志记录」GitLab 升级后的 HTTPS 配置之坑

「日志记录」GitLab 升级后的 HTTPS 配置之坑

Eswlnk的头像
Eswlnk
2024-07-10 19:15:35
「日志记录」GitLab 升级后的 HTTPS 配置之坑-Eswlnk Blog
智能摘要 AI
升级 GitLab CE 时,配置 HTTPS 访问遇到问题:GitLab 自动切换到 443 端口并尝试申请 Let’s Encrypt 证书,导致配置失败。解决方案包括关闭 Let’s Encrypt 申请、修改 `external_url` 并强制指定 Nginx 配置为监听 80 端口,最后重新配置并重启。作者建议 GitLab 应分离 `external_url` 与 Nginx 配置,默认关闭 ACME,简化运维流程。

最近在升级到新版本的 GitLab CE 并尝试配置 HTTPS 访问时,碰到了一件让我哭笑不得的事。GitLab 会自动切换到 443 端口,甚至在没有有效证书的情况下,还会尝试申请 Let’s Encrypt 的证书。这也太离谱了吧!

(PS:具体哪个版本开始这样的我也不清楚,我用的是 17.0.0。)

GitLab 的本意是,既然你修改了 external_url 包含 HTTPS,那么它就会自动化切换到 HTTPS 模式。但问题是,external_url 顾名思义只是外部 URL,GitLab 在没有配置 ACME 的情况下去申请 Let’s Encrypt 证书铁定会失败。这样一来,配置就无法通过,简直是自找麻烦。

「日志记录」GitLab 升级后的 HTTPS 配置之坑-Eswlnk Blog

作为运维,在部署 GitLab 走 HTTPS 的时候,为了证书的统一管理,通常会在外面垫一层负载均衡或者反向代理。我们需要的是 GitLab 乖乖监听 80 端口,同时在仓库的 URL 显示中展示最终代理的 URL。

要解决这个问题,需要以下几个步骤。老版本只需要改 external_url,现在搞得很麻烦。要是运维稍微不熟练,这玩意根本没法用了。

关闭 Let’s Encrypt 申请

   vi /etc/gitlab/gitlab.rb
   # 找到并修改配置
   letsencrypt['enable'] = false

修改 external_url 的同时,强行指定 GitLab 内部的 Nginx 配置

   external_url='https://xxx.com'
   nginx['listen_port'] = 80
   nginx['listen_https'] = false

重新配置并重启

   gitlab-ctl reconfigure
   gitlab-ctl restart

搞定!我必须得吐槽一下 GitLab 团队,但凡是个正常的架构设计不会这样搞。要是让我来设计,我会这样做:

  1. external_url 的配置随便写都不会影响内部 Nginx,仅用于 Web 界面上显示仓库 URL。
  2. Nginx 的配置独立化,不要集成到 gitlab.rb,单独留一个配置文件。修改后我们只需要重启 Nginx,而不是重新配置整个 GitLab。(PS:重新配置这里其实还有一个大坑,要是你用 Docker 运行会更麻烦,不展开了。)
  3. ACME 配置默认关闭,在 Web 界面的管理后台留一个配置菜单供用户编辑,输出证书即可。需要的用户再回到 GitLab 的 Nginx 改配置。

这有那么难吗?

本站默认网盘访问密码:1166
本站默认网盘访问密码:1166
gitlabhttps日志
0
0
Eswlnk的头像
Eswlnk
一个有点倒霉的研究牲站长
赞赏
「开发日志」PoForge新一代跨平台PO翻译工具
上一篇
「日志记录」Centos 系统升级OpenSSH 9.8p1版本
下一篇

评论 (0)

请登录以参与评论
现在登录
    发表评论

猜你喜欢

  • 「日志」IG无缘S15总决赛
  • 来自谷歌27岁的生日涂鸦
  • 事件记录:国内网络故障情况
  • 科研记录:ecCodes处理grib文件问题
  • 本站上线邀请码免费兑换系统
Eswlnk的头像

Eswlnk

一个有点倒霉的研究牲站长
1108
文章
319
评论
679
获赞

随便看看

HotSpot AI 热点创作 1.1 新版本发布!
2023-03-25 13:59:06
「日志」一场混乱的在线技术沟通:猜谜游戏般的问问题艺术
2024-03-22 15:13:03
开发日志记录之后台原生菜单处理
2023-03-18 17:59:52

专题展示

WordPress53

工程实践37

热门标签

360 AI API CDN java linux Nginx PDF PHP python SEO Windows WordPress 云服务器 云服务器知识 代码 免费 安全 安卓 工具 开发日志 微信 微软 手机 插件 攻防 攻防对抗 教程 日志 渗透分析 源码 漏洞 电脑 破解 系统 编程 网站优化 网络 网络安全 脚本 苹果 谷歌 软件 运维 逆向
  • 首页
  • 知识库
  • 地图
Copyright © 2023-2025 Eswlnk Blog. Designed by XiaoWu.
本站CDN由 壹盾安全 提供高防CDN安全防护服务
蜀ICP备20002650号-10
页面生成用时 0.826 秒   |  SQL查询 44 次
本站勉强运行:
友情链接: Eswlnk Blog 网站渗透 倦意博客 特资啦!个人资源分享站 祭夜博客 iBAAO壹宝头条
  • WordPress142
  • 网络安全64
  • 漏洞52
  • 软件52
  • 安全48
现在登录
  • 资源
    • 精彩视频
    • 破解专区
      • WHMCS
      • WordPress主题
      • WordPress插件
    • 其他分享
    • 极惠VPS
    • PDF资源
  • 关于我
    • 论文阅读
    • 关于本站
    • 通知
    • 左邻右舍
    • 玩物志趣
    • 日志
    • 专题
  • 热议话题
    • 游戏资讯
  • 红黑
    • 渗透分析
    • 攻防对抗
    • 代码发布
  • 自主研发
    • 知识库
    • 插件
      • ToolBox
      • HotSpot AI 热点创作
    • 区块
    • 快乐屋
    • 卡密
  • 乱步
    • 文章榜单
    • 热门标签
  • 问答中心反馈