大家晚上好,
我正在努力让 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“在环境中设置。