Docker 中使用 SSL 进行 Nginx 反向代理背后的 Gerrit 代码审查

Docker 中使用 SSL 进行 Nginx 反向代理背后的 Gerrit 代码审查

大家晚上好,

我正在努力让 Gerrit 使用 Nginx 反向代理在 Docker 上运行,我正在使用以下 Nginx 和 LetsEncrypt 配置:https://github.com/jwilder/nginx-proxy

我使用的 Gerrit docker 镜像是:https://hub.docker.com/r/gerritcodereview/gerrit

当我运行 Gerrit docker 镜像时,它成功启动,但是在检查 Nginx 配置时,上游服务器显示 docker 容器的 IP 地址,但没有端口号,即 DOCKER CONTAINER IP:PORT NUMBER,而是显示为“down”。

目标是能够通过以下方式访问 Gerrithttps://gerrit.domainname.com,我尝试过Gerrit的官方文档,但似乎不起作用。

任何帮助或建议都将不胜感激。

谨致问候,莫

答案1

我可以做类似的配置。Nginx 代码片段:

upstream gerrit {
 server my_gerrit_ip:8080 fail_timeout=0;
}

server {
 listen 8080;   
 server_name my-gerrit-site.com;   
 return 301
 https://$host$request_uri; 
}

server {   
  listen 443 ssl;   
  server_name my-gerrit-site.com;
  ssl_certificate /share/certs/localhost.pem;   
  ssl_certificate_key /share/certs/localhost.key;

  location / {

        proxy_set_header  X-Forwarded-For $remote_addr;
        proxy_set_header  Host $host;
        proxy_redirect      http:// https://;
        proxy_pass  http://gerrit;   } }

Gerrit 代码片段(gerrit.conf)

  [gerrit]
    canonicalWebUrl = https://my-gerrit-sice.com
  [httpd]
    listenUrl = proxy-https://*:8080/

记得使用“CANONICAL_WEB_URL=https://my-gerrit-site.com“在环境中设置。

相关内容