反向代理后面的Gitlab Docker容器

时间:2017-01-05 08:26:49

标签: nginx docker gitlab

我使用正式的Docker容器安装了gitlab:

  

docker run -d -p 8002:80 -v / mnt / gitlab / etc / gitlab:/ etc / gitlab -v / mnt / gitlab / var / opt / gitlab:/ var / opt / gitlab -v / mnt / gitlab / var / log / gitlab:/ var / log / gitlab gitlab / gitlab-ce

我正在使用nginx作为反向代理:

AutoScrollMinSize

这一切都很好,直到我将这一行添加到gitlab.rb

using System.Drawing;
using System.Windows.Forms;
public partial class UserControl1 : UserControl
{
    public UserControl1()
    {
        InitializeComponent();
        this.AutoScroll = true;
    }
    protected override void OnPaint(PaintEventArgs e)
    {
        //for a custom paint control, calculate the minimum size which needs scrollbars
        //for a normal container control you don't need to calculate minimum size
        this.AutoScrollMinSize = new Size(300, 500); 
        base.OnPaint(e);
        var r = this.DisplayRectangle;
        r.Width--; r.Height--;
        e.Graphics.DrawRectangle(Pens.Red, r);
        TextRenderer.DrawText(e.Graphics, "Top-Left", Font, r, ForeColor, 
            TextFormatFlags.Top | TextFormatFlags.Left);
        TextRenderer.DrawText(e.Graphics, "Bottom-Right", Font, r, ForeColor, 
            TextFormatFlags.Bottom | TextFormatFlags.Right);
    }
}

重新启动容器后,nginx无法访问gitlab。有人能告诉我我的设置有什么问题吗?

编辑: 这是 upstream gitlab { server localhost:8002; } server { listen 443 ssl; listen [::]:443 ssl; keepalive_timeout 70; ssl_certificate /etc/letsencrypt/live/git.cedware.com/cert.pem; ssl_certificate_key /etc/letsencrypt/live/git.cedware.com/privkey.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; server_name git.cedware.com; client_max_body_size 300M; location / { proxy_http_version 1.1; proxy_pass http://localhost:8002/; proxy_set_header Host $host; proxy_set_header X-Forwared-Ssl off; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }

的输出
external_url 'https://git.cedware.com';

这是nginx error.log的内容:

curl -v https://git.cedware.com

2 个答案:

答案 0 :(得分:2)

根据日志中显示的nginx错误,上游没有响应。这不是nginx错误。

您的容器很可能已关闭或卡在重启循环中。

使用docker ps查看容器状态。然后使用docker logs <containername>查看它生成的任何错误。

gitlab可能不喜欢你的gitlab.rb修改。日志应该告诉你更多。

答案 1 :(得分:0)

您应该公开443端口的容器,因为您使用的是https for gitlab。

此外,您在主机系统的Nginx设置中的位置应为https://localhost:some_443_port/