502 código de erro no proxy reverso nginx para o contêiner docker

2

Eu executei um contêiner docker com a imagem nextcloud (daqui link ) com este script:

docker run \
--rm \
--detach \
--publish 54002:80 \
--name cloud.example.com \
--volume /srv/cloud.example.com/:/var/www/html \
nextcloud

E eu fiz um proxy reverso com nginx:

server {
        listen *:80;
        server_name cloud.example.com;
        proxy_set_header Host cloud.example.com;
        location / {
        rewrite ^(.*)$ https://cloud.example.com$1 permanent;
        }
}

server {
        listen *:443 ssl http2;
        server_name     cloud.example.com;
        proxy_set_header Host cloud.example.com;
        set $service_port 54002;
        set $service_ip 192.168.2.33;
        ssl_certificate         /etc/letsencrypt/live/cloud.example.com/fullchain.pem;
        ssl_certificate_key             /etc/letsencrypt/live/cloud.example.com/privkey.pem;

        add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always;
        add_header X-Content-Type-Options nosniff;
        add_header X-Frame-Options "SAMEORIGIN";
        add_header X-XSS-Protection "1; mode=block";
        add_header X-Robots-Tag none;
        add_header X-Download-Options noopen;
        add_header X-Permitted-Cross-Domain-Policies none;

        location / {
                proxy_pass http://$service_ip:$service_port;
        }
}

E eu recebo o código de erro 502. Eu verifiquei de rede local link , ele funciona bem, também apenas site http com proxy também funciona! Http Nginx config que funciona:

server {
        set $service_port 54002;
        set $service_ip 192.168.2.33;
        set $domain_name cloud.example.com;

        listen *:80;
        server_name $domain_name;

        proxy_set_header Host $domain_name;

        location / {
                proxy_pass http://$service_ip:$service_port;
        }
}

O que há de errado com minha configuração https?

    
por Bogdan Lashkov 10.07.2017 / 17:53

1 resposta

0

Depois de ter passado muitas horas com esse problema, finalmente encontrei um erro na configuração do meu servidor. Com nginx está tudo bem, mas esqueci de permitir 443 port no ufw. Eu erroneamente decidi que a regra "Nginx HTTP" é suficiente para as conexões http e https, mas na verdade apenas a porta 80 / tcp estava aberta, então eu inseri ufw allow 443/tcp e todos os erros desapareceram! @alexus e outros me desculpam por desperdiçar seu tempo!

    
por 11.07.2017 / 12:22