NGINX HTTPS не перенаправляет должным образом

NGINX HTTPS не перенаправляет должным образом

Я последовал заИнструкции Cerbot получить сертификат HTTPS для NGINX на моем сервере Debian для домена, но HTTPS не перенаправляется должным образом.

etc/nginx/conf.d/app.confВ результате автоматической генерации 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
}

В Chrome, когда я захожу вhttps://mnpd.khkm.dev/, Я получил:

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

я нашел этоОтвет на Stack Overflow где я посмотрел на вкладку «Сеть» в веб-консоли и увидел, что страница постоянно перенаправляется на https://mnpd.khkm.dev/. Конфигурация NGINX должна прослушивать порт 443 для HTTPS, так почему же он не загружается и постоянно перенаправляется? (Я ожидаю, что будет загружена страница NGINX по умолчанию.)

решение1

Порт 80 перенаправляется на 443, который пытается проксировать 80, который перенаправляет ....

Удалить

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

Я бы не позволил certbot переписывать мои файлы конфигурации. Он действительно хорошо работает только для самого простого варианта использования. Я рекомендую использоватьcertbot в автономном режиме. Это делает конфигурацию вашей проблемой и позволяет certbot управлять сертификатами.

Вы запускаете cert bot, он сообщает вам, где находятся файлы сертификатов, и вы добавляете эти биты в конфигурацию вашего HTTPS-сервера. Когда он обновляется, он помещает новые файлы в то же место, чтобы вам не пришлось снова менять конфигурацию после настройки сайта. certbot обновляет и перезапускает nginx.

Связанный контент