Ubuntu16.04 Nginx Let’s encrypt で評価A+な SSL+HTML/2

ポート開放を忘れずに (ルーターも)

sudo ufw allow 443

Let’s encryptをインストール

sudo apt install letsencrypt

証明書の発行を発行して貰う。
-w でルートディレクトリ -dでドメイン -m でメアドを指定。

sudo letsencrypt certonly --webroot -w /www/html -d idol-nakachan.world -m nakachankawaii@kancolle.mail.jp

サブドメインも取得する場合
-w でルートディレクトリ -dでドメイン -m でメアドを指定。

sudo letsencrypt certonly --standalone -w /www/html  #
-d idol-nakachan.world #
-d www.idol-nakachan.world #
-d 2-4-11.idol-nakachan.world #
-m nakachankawaii@kancolle.mail.jp

証明書の自動更新 (crontab)

/etc/crontab
00 05 01 * * sudo systemctl stop nginx; sudo letsencrypt renew; sudo systemctl start nginx

DH交換鍵の設定

sudo mkdir /etc/nginx/ssl
sudo opensll dhparam -out /etc/nginx/ssl/nakachan-anzen.pem 2048

Nginxの設定
/etc/nginx/nakachan.conf

server {
listen       80;
server_name  idol-nakachan.world;
return 301 https://$host$request_uri;
}

server {
listen       80;
listen       443;
server_name www.idol-nakachan.world;
return 301 https://$host$request_uri;
}

server {
listen       443 ssl http2;
server_name  idol-nakachan.world;
add_header Strict-Transport-Security 'max-age=31536000; includeSubDomains;';

ssl_protocols TLSv1.2;
ssl_certificate         /etc/letsencrypt/live/idol-nakachan.world/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/idol-nakachan.world/privkey.pem;
ssl_dhparam           /etc/nginx/ssl/nakachan-anzen.pem;
ssl_prefer_server_ciphers on;

ssl_session_cache shared:SSL:50m;
ssl_session_timeout 1d;
ssl_stapling on;
}

再起動

sudo nginx -t
sudo systemctl restart nginx

サーバー機器の更新、https HTTP/2等へ変更

サーバー機器の更新が完了いたしました。
構成は以下のようになります。

CPU:Ryzen3 2200G
MEM:DDR4-3200 32GB
SSD:500GB+256GB
HDD:1TB

Ubuntu 16.04
Nginx 1.15.9
MariaDB 10.3
PHP 7.3.2

また、同時に下記のような改善を加えました。
・HTTPSへ変更
・HTTP/2化
・通信のUnix Socket通信化
・キャッシュ機能の増強
・同時接続数の向上