Let's Encrypt。SSL証明書を新規取得

セキュリティLet's Encrypt

目次一覧

 状態:-  閲覧数:375  投稿日:2019-05-21  更新日:2019-05-21
Webサイト新規作成準備 / SSL証明書取得 / 確認

Webサイト新規作成準備 / SSL証明書取得 / 確認

 閲覧数:137 投稿日:2019-05-21 更新日:2019-05-21 

Webサイト新規作成準備


Nginx設定ファイルがおかしかった(他と整合性がとれていなかった)ため、修正
$ sudo mv /etc/nginx/conf.d/b.w4c.wotk.conf /etc/nginx/conf.d/b.example.com.conf

現在のNginx設定ファイルを確認
$ less /etc/nginx/conf.d/b.example.com.conf 

server {
    server_name  b.example.com;

    root   /var/www/html/example.com/b.example.com;

    index  index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    location ~ \.php$ {
         fastcgi_split_path_info ^(.+\.php)(/.+)$;
         fastcgi_pass unix:/var/run/php-fpm.sock;
         fastcgi_index index.php;
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
         fastcgi_param PATH_INFO $fastcgi_path_info;
         include fastcgi_params;
    }
}


Nginx再起動
$ sudo sh -c 'nginx -t && systemctl restart nginx.service || systemctl status nginx.service -l'
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful


ブラウザで表示確認
・a.example.comが(httpで)正常表示されることを確認
・b.example.comが(httpで)正常表示されることを確認

SSL証明書取得


CertbotがNginx設定ファイルを自動的に編集
$ sudo certbot --nginx
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org

Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: a.example.net

114: a.example.com

121: b.example.com

177: xoops-0.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel):

114,121
Obtaining a new certificate
Resetting dropped connection: acme-v02.api.letsencrypt.org
Deploying Certificate to VirtualHost /etc/nginx/conf.d/b.example.com.conf
Deploying Certificate to VirtualHost /etc/nginx/conf.d/a.example.com.conf

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):

2
Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/b.example.com.conf
Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/a.example.com.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://b.example.com and
https://a.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=b.example.com
https://www.ssllabs.com/ssltest/analyze.html?d=a.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
  /etc/letsencrypt/live/b.example.com/fullchain.pem
  Your key file has been saved at:
  /etc/letsencrypt/live/b.example.com/privkey.pem
  Your cert will expire on 2019-08-19. To obtain a new or tweaked
  version of this certificate in the future, simply run certbot again
  with the "certonly" option. To non-interactively renew *all* of
  your certificates, run "certbot renew"
- If you like Certbot, please consider supporting our work by:

  Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
  Donating to EFF:                    https://eff.org/donate-le


確認


ブラウザで表示確認
・a.example.comが(httpsで)正常表示されることを確認
・b.example.comが(httpsで)正常表示されることを確認

Nginx設定ファイルへ追記された部分を確認
$ less /etc/nginx/conf.d/a.example.com.conf
server {
   server_name  a.example.com;

   root   /var/www/html/example.com/a.example.com;

   index  index.php index.html index.htm;

   location / {
       try_files $uri $uri/ /index.php?$query_string;
   }

   error_page   500 502 503 504  /50x.html;

   location = /50x.html {
       root   /usr/share/nginx/html;
   }

   location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        include fastcgi_params;
   }

# managed by Certbot

   listen 443 ssl; # managed by Certbot
   ssl_certificate /etc/letsencrypt/live/b.example.com/fullchain.pem; # managed by Certbot
   ssl_certificate_key /etc/letsencrypt/live/b.example.com/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 = a.example.com) {
       return 301 https://$host$request_uri;
   } # managed by Certbot


   server_name  a.example.com;
   listen 80;
   return 404; # managed by Certbot


}


ブラウザで証明書発行元を確認
・a.example.comで表示される証明書
発行元:b.example.com

・b.example.comで表示される証明書
発行元:b.example.com



Let's Encrypt。SSL証明書を新規取得後、削除

Let's Encrypt。証明書取得後、複数ホストを確認するためには?



週間人気ページランキング / 9-19 → 9-25
順位 ページタイトル抜粋 アクセス数
1 Nginx設定。エラーログレベル | Nginx(Webサーバ) 16
2 PHP実行ユーザ設定 / CentOS6 / Apache | PHP(プログラミング言語) 15
3 PHPのmb_send_mail関数でメール送信できない | メール処理システム 11
4 9回目-13.MySQL5.7.21設定 | CentOS 7 2週間無料のお試し期間 9回目(さくらVPS) 10
5 tar: これは tar アーカイブではないようです 8
5 ImageMagick と imagick の違い | ImageMagick(ソフトウェアスイート) 8
5 さくらVPS0 8
6 manページ日本語表示 | CentOS 7 (CentOS) 7
6 Python 3.5 アンインストール / yum remove | Python(プログラミング言語) 7
7 ABRT により 問題が検出されました | CentOS 7 (CentOS) 6
7 Reached target Shutdown メッセージが表示されたあと、シャットダウンまたは再起動プロセスがハングアップする | CentOS 7 (CentOS) 6
7 PHPファイルでchmodエラー | PHP(プログラミング言語) 6
7 echo と cat の違い 6
8 FFmpeg 2.8.15 を yum インストール | ソフトウェアスイート 5
8 「設定ファイルに、暗号化 (blowfish_secret) 用の非公開パスフレーズの設定を必要とするようになりました。」対応 5
8 「CentOS6」から「CentOS7」への移行 | CentOS 7 (CentOS) 5
8 「さくらVPS」で、「CentOS6」を「CentOS7」へ変更するためには? | CentOS 7 2週間無料のお試し期間 Link(さくらVPS) 5
9 6回目-10.Nginxでバーチャルホスト設定確認 | CentOS 7 2週間無料のお試し期間 6回目(さくらVPS) 4
9 cronで定期実行しているphpファイルを、コマンドライン経由で即時実行する | cron(Linuxコマンド) 4
9 MySQL 5.5 から 5.6 へのアップグレード | MySQL(データベース) 4
2021/9/26 1:01 更新