フォローするCerbotの指示 私はDebianサーバーのドメインのNGINXのHTTPS証明書をインポートしましたが、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
私はこれを見つけましたスタックオーバーフロー回答
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を更新して再起動します。