我使用正式的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
答案 0 :(得分:2)
根据日志中显示的nginx
错误,上游没有响应。这不是nginx
错误。
您的容器很可能已关闭或卡在重启循环中。
使用docker ps
查看容器状态。然后使用docker logs <containername>
查看它生成的任何错误。
gitlab可能不喜欢你的gitlab.rb
修改。日志应该告诉你更多。
答案 1 :(得分:0)
您应该公开443端口的容器,因为您使用的是https for gitlab。
此外,您在主机系统的Nginx设置中的位置应为https://localhost:some_443_port/