9回目-11.新規サブドメイン追加 + Let's Encryptの無料SSL導入

さくらVPSCentOS 7 2週間無料のお試し期間 9回目

目次一覧

 状態:-  閲覧数:297  投稿日:2018-03-23  更新日:2019-05-21
SSL証明書に新規ホスト追加 / Nginx設定ファイル現状確認 / 新規ホスト追加&Webサイト表示

新規ホスト設定ファイル作成 / 新規ホストindex.phpファイル作成 / SSL証明書取得実行

ブラウザで確認

SSL証明書に新規ホスト追加 / Nginx設定ファイル現状確認 / 新規ホスト追加&Webサイト表示

 閲覧数:139 投稿日:2018-03-23 更新日:2019-05-21 

SSL証明書に新規ホスト追加


現在は、2ホストを1証明書で取得
・1: a.example.com
・2: b.example.com

これからは、3ホストを1証明書で取得
・1: c.example.org
・2: a.example.com
・3: b.example.com

Nginx設定ファイル現状確認


$ cat /etc/nginx/conf.d/b.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;
   }


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


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


}


新規ホスト追加&Webサイト表示


ネームサーバにおけるDNS設定
「ドメイン」の全アクセスを、さくらVPSのIPアドレスへ向ける

http://www.example.org/
このドメインは、お名前.comで取得されています。

お名前.comのトップページへ


大人しくネームサーバ変更反映を待つ
・4~5分経過すると、変更が反映される
・「http://*.ドメイン」が反映されたら作業開始
・「http://www.ドメイン」への反映は遅いので、待たない

http://www.example.org/
hoge



新規ホスト設定ファイル作成 / 新規ホストindex.phpファイル作成 / SSL証明書取得実行

 閲覧数:127 投稿日:2018-03-23 更新日:2019-05-21 

新規ホスト設定ファイル作成


$ sudo vi /etc/nginx/conf.d/c.conf
server {
   server_name  c.example.org;
   root   /var/www/html/example.org/c.example.org;
   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;
   }


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


   listen       80;
   server_name  c.example.org;
   return 404; # managed by Certbot


}

新規ホストindex.phpファイル作成


$ sudo -s
# mkdir -p /var/www/html/example.org/c.example.org
# chown -R ★★:★★ /var/www/html/example.org/c.example.org
# vi /var/www/html/example.org/c.example.org/index.php
<?php echo 'c'; ?>


# exit
exit


SSL証明書取得実行


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

Which names would you like to activate HTTPS for?
-------------------------------------------------------------------------------
1: c.example.org
2: a.example.com
3: b.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):


スペースキー入力後、Enter
-------------------------------------------------------------------------------
You have an existing certificate that contains a portion of the domains you
requested (ref: /etc/letsencrypt/renewal/a.example.com.conf)

It contains these names: a.example.com, b.example.com

You requested these names for the new certificate: c.example.org, a.example.com,
b.example.com.

Do you want to expand and replace this existing certificate with the new
certificate?
-------------------------------------------------------------------------------
(E)xpand/(C)ancel:

e
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for c.example.org
http-01 challenge for a.example.com
http-01 challenge for b.example.com
Waiting for verification...
Cleaning up challenges
Deployed Certificate to VirtualHost /etc/nginx/conf.d/c.conf for c.example.org
Deployed Certificate to VirtualHost /etc/nginx/conf.d/a.conf for a.example.com
Deployed Certificate to VirtualHost /etc/nginx/conf.d/b.conf for b.example.com

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
Traffic on port 80 already redirecting to ssl in /etc/nginx/conf.d/c.conf
Traffic on port 80 already redirecting to ssl in /etc/nginx/conf.d/a.conf
Traffic on port 80 already redirecting to ssl in /etc/nginx/conf.d/b.conf

-------------------------------------------------------------------------------
Your existing certificate has been successfully renewed, and the new certificate
has been installed.

The new certificate covers the following domains: https://c.example.org,
https://a.example.com, and https://b.example.com

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

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
  /etc/letsencrypt/live/a.example.com/fullchain.pem
  Your key file has been saved at:
  /etc/letsencrypt/live/a.example.com/privkey.pem
  Your cert will expire on 2018-05-31. 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


ブラウザで確認

 閲覧数:130 投稿日:2018-03-23 更新日:2019-05-21 

https対応済み


http://a.example.com/
→「https://a.example.com/」へリダイレクトする
a


https://a.example.com/
a


http://b.example.com/
→「https://b.example.com/」へリダイレクトする
b


https://b.example.com/
b


http://c.example.org/
→「https://c.example.org/」へリダイレクトする
c


https://c.example.org/
c


上記以外


デフォルト
・https未対応

http://www.example.com/
hoge


https://www.example.com/
この接続ではプライバシーが保護されません

セキュリティで保護されたページに戻る


http://IPアドレス/
hoge


https://IPアドレス/
この接続ではプライバシーが保護されません

セキュリティで保護されたページに戻る



9回目-10.Let's Encryptの無料SSL導入

9回目-12.MySQL5.7.21インストール



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