NGINX HTTPSが正しくリダイレ​​クトされない

NGINX HTTPSが正しくリダイレ​​クトされない

フォローするCerbotの指示 私はDebianサーバーのドメインのNGINXのHTTPS証明書をインポートしましたが、HTTPSは正しくリダイレ​​クトされません。

etc/nginx/conf.d/app.confCertbotの自動生成から次のようになります。

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

私はこれを見つけましたスタックオーバーフロー回答 Webコンソールの[ネットワーク]タブを調べて、ページが引き続きリダイレクトされることを確認しましたhttps://mnpd.khkm.dev/。 NGINX設定はHTTPSポート443をリッスンする必要がありますが、なぜロードされずにリダイレクトされ続けるのですか? (基本NGINXページをロードしたいです。)

答え1

ポート80が443にリダイレクトされ、リダイレクトされる80をプロキシしようとしています。

削除する

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

certbotが私の設定ファイルを書き換えることを許可しません。実際には、最も簡単なユースケースでのみ機能します。使用することをお勧めしますcertbotはスタンドアロンモードになっています。。これにより、構成がユーザーの問題になり、certbotが証明書を管理できます。

証明書ファイルの場所を知らせるcertボットを実行し、そのビットをHTTPSサーバー構成に追加します。更新すると、新しいファイルが同じ場所に配置されるため、サイトが設定された後に設定を再変更する必要はありません。 certbotはnginxを更新して再起動します。

関連情報