简体   繁体   English

Unraid Nginx 反向代理 GitLab-CE Docker

[英]Unraid Nginx Reverse Proxy GitLab-CE Docker

I'm using Unraid 6.8.3 and got a letsencrypt docker for reverse proxy.我正在使用 Unraid 6.8.3 并获得了用于反向代理的letsencrypt docker。

I got nextcloud and collabora running trough nginx in letsencrypt.我让 nextcloud 和 collabora 在letsencrypt 中通过nginx 运行。 But I cant get GitLab-CE to work trough nginx.但我无法让 GitLab-CE 通过 nginx 工作。


Infos:信息:

Docker name: "GitLab-CE" Docker 名称:“GitLab-CE”

Docker repo: "gitlab/gitlab-ce" Docker 回购:“gitlab/gitlab-ce”

Docker network is in custom proxy net Docker 网络在自定义代理网中

Web Interface Port (HTTP): 9080 Web 接口端口(HTTP):9080

Web Interface Port (HTTPS): 9443 Web 接口端口(HTTPS):9443

SSH Port: 9022 SSH 端口:9022


Goal:目标:

use git.domain.xyz使用 git.domain.xyz


192.168.178.52:9022 -> git.domain.xyz:22 192.168.178.52:9022 -> git.domain.xyz:22

192.168.178.52:9080 -> git.domain.xyz:80 192.168.178.52:9080 -> git.domain.xyz:80

192.168.178.52:9443 -> git.domain.xyz:443 192.168.178.52:9443 -> git.domain.xyz:443




My gitlab.subdomain.conf:我的 gitlab.subdomain.conf:

server {
    listen 80 ssl;
    listen [::]:80 ssl;

    server_name git.*;

    include /config/nginx/ssl.conf;

    client_max_body_size 0;


    location / {
        include /config/nginx/proxy.conf;
        resolver 127.0.0.11 valid=30s;
        set $upstream_app GitLab-CE;
        set $upstream_port 9080;
        set $upstream_proto http;
        proxy_pass $upstream_proto://$upstream_app:$upstream_port;

    }
}

server {
    listen 443 ssl;
    listen [::]:443 ssl;

    server_name git.*;

    include /config/nginx/ssl.conf;

    client_max_body_size 0;


    location / {
        include /config/nginx/proxy.conf;
        resolver 127.0.0.11 valid=30s;
        set $upstream_app GitLab-CE;
        set $upstream_port 9443;
        set $upstream_proto https;
        proxy_pass $upstream_proto://$upstream_app:$upstream_port;

    }
}

server {
    listen 22 ssl;
    listen [::]:22 ssl;

    server_name git.*;

    include /config/nginx/ssl.conf;

    client_max_body_size 0;


    location / {
        include /config/nginx/proxy.conf;
        resolver 127.0.0.11 valid=30s;
        set $upstream_app GitLab-CE;
        set $upstream_port 9022;
        set $upstream_proto ssh;
        proxy_pass $upstream_proto://$upstream_app:$upstream_port;

    }
}




Error I get in the log:我在日志中得到的错误:

nginx: [emerg] no "ssl_certificate" is defined for the "listen ... ssl" directive in /config/nginx/site-confs/default:4

Your server block您的服务器块

server {
    listen 80 ssl;
    listen [::]:80 ssl;

is configured to use ssl but there is not certificate and key configured for this server block.配置为使用 ssl 但没有为此服务器块配置证书和密钥。

If you realy want to serve if via http wihout terminate TLS, remove the ssl option from your configuration.如果您真的想通过 http 服务而不终止 TLS,请从您的配置中删除 ssl 选项。

server {
    listen 80;
    listen [::]:80;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM