Gitlab Docker with Apache reverse proxy and SSL

You can try this, its working for me:

server {
    if ($host = gitlab.xxxx.xx) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

        listen 80;
        server_name gitlab.xxxx.xx;
    return 404; # managed by Certbot
}
server {
    server_name gitlab.xxxx.xx;

    listen 443 ssl http2; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/gitlab.xxxx.xx/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/gitlab.xxxx.xx/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
	
    access_log  /var/log/nginx/gitlab_access.log;
    error_log   /var/log/nginx/gitlab_error.log;
    location / {
            client_max_body_size 0;
            gzip off;
            proxy_read_timeout      300;
            proxy_connect_timeout   300;
            proxy_redirect          off;
            proxy_http_version 1.1;
            proxy_set_header    Host                $http_host;
            proxy_set_header    X-Real-IP           $remote_addr;
            proxy_set_header    X-Forwarded-Ssl     on;
            proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;
            proxy_set_header    X-Forwarded-Proto   $scheme;
            proxy_pass http://127.0.0.1:8080;
    }
}