NGINX HTTPS não redireciona corretamente

NGINX HTTPS não redireciona corretamente

eu seguiInstruções de Cerbot para obter um certificado HTTPS para NGINX em meu servidor Debian para um domínio, mas o HTTPS não está redirecionando corretamente.

Recebi o seguinte etc/nginx/conf.d/app.confda geração automática do Certbot:

server {
    server_name mnpd.khkm.dev www.mnpd.khkm.dev;
    # listen 8080;
    server_tokens off;
    location /.well-known/acme-challenge/ {
        root /var/www/certbot;
    }
    location / {
        # return 301 https://mnpd.khkm.dev$request_uri;
        proxy_pass http://mnpd.khkm.dev;
    }

    listen [::]:443 ssl ipv6only=on; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/mnpd.khkm.dev/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/mnpd.khkm.dev/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

}
server {
    if ($host = mnpd.khkm.dev) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    listen 80;
    listen [::]:80;
    server_name mnpd.khkm.dev www.mnpd.khkm.dev;
    return 404; # managed by Certbot
}

No Chrome, quando vou parahttps://mnpd.khkm.dev/, Eu recebo:

mnpd.khkm.dev redirected you too many times.
Try deleting your cookies.
ERR_TOO_MANY_REDIRECTS

Eu achei istoResposta do Stack Overflow onde olhei a aba "Rede" no console web e vi que a página é constantemente redirecionada para https://mnpd.khkm.dev/. A configuração do NGINX deveria estar escutando a porta 443 para HTTPS, então por que ela não está carregando e sendo redirecionada constantemente? (Espero que a página NGINX padrão seja carregada.)

Responder1

A porta 80 está sendo redirecionada para 443 que está tentando proxy 80 que está redirecionando....

Remova o

    location / {
        # return 301 https://mnpd.khkm.dev$request_uri;
        proxy_pass http://mnpd.khkm.dev;
    }

Eu não deixaria o certbot reescrever meus arquivos de configuração. Realmente só funciona bem para o caso de uso mais simples. Eu recomendo usarcertbot em modo autônomo. Isso torna a configuração o seu problema e permite que o certbot gerencie os certificados.

Você executa o cert bot, ele informa onde estão os arquivos cert e adiciona esses bits à configuração do servidor HTTPS. Quando renova; ele coloca os novos arquivos no mesmo local para que você não precise alterar a configuração novamente após a configuração do site. atualize o certbot e reinicie o nginx.

informação relacionada