nginx はどのようにして SSL 証明書の期限切れを防ぐのですか?
nginx は無料の SSL 証明書と定期的な証明書の更新を構成します
環境 6、証明書の発行 Let's Encrypt
証明書生成の前提は次のとおりです。ドメイン名が利用可能であること、つまり登録されており、DNS
1 によって特定の IP に解決されていることを確認します。epel,
>yum install epel-release
2 をインストールします。certbot 証明書生成ツールをダウンロードします。 certbot-auto
>wget https://dl.eff.org/certbot-auto --no-check-certificate
3 、インストール ツールの依存関係
>chmod +x certbot-auto >./certbot-auto -n
4. 証明書の生成
単一ドメイン名:
>./certbot-auto certonly --email my@163.com --agree-tos --no-eff-email --webroot -w /usr/local/nginx/html/xue/ -d www.xue37.cn
注: 電子メール、Web サイト ディレクトリを置き換えます。およびドメイン名
複数のドメイン名:
>./certbot-auto certonly --email my@163.com --agree-tos --no-eff-email --webroot -w /usr/local/nginx/html/xue/ -d www.xue37.cn -d xue37.cn
証明書は /etc/letsencrypt/live/www.xue37.cn/ ディレクトリに生成されます (実行後にプロンプト メッセージが表示されます)
5. 証明書の延長 (証明書の有効期間が 90 日であるため)
certbot-auto ツールは証明書の延長操作をサポートしているため、次のように使用できます。 crontab スケジュールされたタスクで、スケジュールされた時刻に証明書を自動的に延長します。
>0 3 * * * /root/certbot-auto renew --disable-hook-validation --renew-hook "/usr/local/nginx/sbin/nginx -s reload"
毎日 3 時に証明書の延長を実行します。crontab 式は Baidu にすることができます
注:
最初に個別に実行できます:
/root/certbot-auto renew --disable-hook-validation --renew-hook "/usr/local/nginx/sbin/nginx -s reload"
ここでプロンプトが表示されます。次の証明書はまだ更新の期限がありません。これは、証明書の有効期限が切れておらず、他のエラーがないことを意味します。したがって、証明書の有効期限があまりにも長くならないようにするために、毎日拡張操作を実行するように証明書を設定できます
6. nginx 証明書の構成を追加します
server { listen 443 ssl; server_name www.xue37.cn; ##这里是你的域名 ssl_certificate /etc/letsencrypt/live/www.xue37.cn/fullchain.pem; #前面生成的证书,改一下里面的域名就行 ssl_certificate_key /etc/letsencrypt/live/www.xue37.cn/privkey.pem; #前面生成的密钥,改一下里面的域名就行 ssl_ciphers ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!AESGCM; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; access_log /data/application/logs/xue.access.log main; location ^~ /bot { proxy_pass http://xue-server; include proxy-params.conf; } location / { root html/xue; index index.html index.htm; } location = /50x.html { root html; } }
7. 80 ポート 301 を設定しますから 443
nginx 設定の変更:
server { listen 80; server_name localhost; location /.well-known/ { add_header Content-Type 'text/plain;'; root /usr/local/nginx/html/xue; } location / { return 301 https://www.xue37.cn$request_uri; } }
注: 変更後は nginx を再起動する必要があります:/usr/local/nginx/sbin/nginx -s reload
注: nginx 設定を処理する必要があります
location ~ /\. { deny all; }
この設定を削除するかコメントアウトするか、この設定の前に追加します (そのような設定がない場合は無視してください)
location ~ /.well-known { allow all; }
Nginx 関連の技術的な詳細については、記事については、Nginx の使い方チュートリアル コラムをご覧ください。
以上がnginx で SSL 証明書の有効期限が切れないようにする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。