Anduin Xue
Anduin Xue

Anduin's Tech Blog

Caddy


Install GitLab behind a reverse proxy on a Ubuntu 20.04\22.04 server

这篇博客详细介绍了在Ubuntu 20.04/22.04服务器上部署GitLab并配置反向代理的完整流程。文章从基础环境搭建到高级网络配置,逐步引导读者完成GitLab服务的部署与优化。核心内容包括:通过Caddy反向代理实现HTTP/HTTPS流量分发、处理GitLab与反向代理之间的网络信任关系、解决多服务器架构下SSH端口的转发难题,以及通过GitLab Runner实现CI/CD管道的完整集成。作者特别强调了在生产环境中配置反向代理时需要处理的细节问题,例如Nginx的监听端口设置、真实IP地址的传递、SSH服务的端口隔离等关键配置。文章最后展示了如何通过编写.gitlab-ci.yml文件实现.NET项目的自动化构建、代码分析和测试覆盖率统计。整个部署方案不仅涵盖了基础功能的实现,更深入探讨了服务间的网络通信安全性和可扩展性问题。当读者完成这些步骤后,不禁会思考:如何在保持反向代理架构优势的同时进一步优化服务响应速度?当服务器数量增加时,如何设计更灵活的端口管理策略?此外,当引入更多微服务时,如何确保整个CI/CD管道的稳定性和可维护性?这些未展开的问题为读者提供了进一步探索的方向。--Qwen3

bash git Linux Ubuntu Proxy SSH Caddy GitLab nginx

CaddyV2 tips and examples (How to correctly get user's IP address after a reverse proxy)

Caddy V2作为现代反向代理工具展现了极强的可定制性与场景适配能力文章通过编译带有Proxy Protocol插件的自定义Caddy版本揭示了如何在FRP等隧道代理后精准获取用户真实IP地址这一核心难题同时展示了从静态文件托管到动态负载均衡的12种典型配置方案包括如何通过header操作实现安全加固如何结合IP白名单与路径匹配进行精细化访问控制以及如何利用基础认证与健康检查构建多层防护体系值得注意的是当反向代理链涉及多层嵌套时配置的允许规则与超时参数往往成为系统稳定性的关键变量文章尤其值得关注的创新点在于将Caddy的模块化特性与实际网络拓扑深度结合例如通过cookie-based负载均衡策略实现会话保持或在HTTPS跳转时自动移除潜在风险头字段这种将协议细节与安全策略有机融合的实践思路值得深入思考当面对混合云环境或混合网络架构时如何设计既能满足性能要求又能保证可观测性的反向代理方案或许正是本文抛砖引玉的价值所在--Qwen3

Reverse Proxy Linux Ubuntu Proxy FRP Caddy CaddyV2 IP Address Proxy Protocol

  • 1