centos nginxの下に無料httpsを配置します。


準備
無料httpsを展開する過程を記録して、Let's Ecryptの無料証明書を使います。
自動インストーラ`wgetをダウンロードします。https://dl.eff.org/certbot-autochmod a+x certbot-at`
インストール
  • 実行スクリプト./certbot-auto --nginx
  • ここでいくつかのものをダウンロードして、httpsのドメイン名を追加する必要があります。このドメイン名はnginx.confで構成されているserverで読み取られました。選択したドメイン名は登録したドメイン名だけです。この台本が届くからDNSサーバがこのドメイン名の対応を調べに行きます。ipサーバです。すみません、証明書はもらえません。
  • の実行が成功したら、httpの要求をhttpsにリダイレクトするかどうかを選択します。2を直接選択すればいいです。

  • ここに配置されました。サイトにアクセスすれば効果が見られます。
    そのロックをクリックすると証明書に関する詳細が見られます。
    締め括りをつける
    実はこのスクリプトは1つのキーに相当しています。https証明書を申請して、サーバーにダウンロードして保存して、証明書をnginx.confの中に配置します。nginx.confを開くと、新たな構成情報が見られます。
        listen 443 ssl http2; # managed by Certbot
        ssl_certificate /etc/letsencrypt/live/fullchain.pem; # managed by Certbot
        ssl_certificate_key /etc/letsencrypt/live/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
    
         # Redirect non-https traffic to https
         if ($scheme != "https") {
            return 301 https://$host$request_uri;
            #     301     (     )       。          ,       ,            
         }# managed by Certbot
    }
    付属する
    Let's Ecryptという証明書は90日後に期限が切れますので、cronを使ってタイミングタスクを行うことができます。この証明書は18日に申請したので、毎月の19日に一回実行します。crontab -eを実行すると、ファイル入力0 0 19 * * ./path/to/certbot-auto renew crontab-eの5つのパラメータがそれぞれ代表されます。分、時間、日、月、週。
    参照
    https://certbot.eff.org/lets-encrypt/centos6-nginxhttps://bjornjohansen.no/redirect-t-https-with-nginxhttp://nginx.org/en/docs/http/ngx_http_コールバックmodule.