ホームページ  >  記事  >  運用・保守  >  nginx で SSL 証明書の有効期限が切れないようにする方法

nginx で SSL 証明書の有効期限が切れないようにする方法

藏色散人
藏色散人オリジナル
2019-08-27 10:50:587835ブラウズ

nginx で SSL 証明書の有効期限が切れないようにする方法

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。