今更ですが、さくらインターネットでレンタルしている Sakura VPS
の Web サーバーを SSL (https) に対応しました。
とりあえず今回は無料の Let’s Encrypt の証明書を、nginx サーバに設定します。
使っている OS が CentOS6 だったので、ついでに CentOS7 をクリーンインストールすることにしました。
といっても、さくらインターネットの VPS の設定画面でポチポチとやっていくだけ。
ここで、[public] CentOS_LetsEncrypt というスタートアップスクリプトを選んだら、自動的に SSL の証明書などの対応が完了します。
入力するパラメータはドメイン(example.com
など)と連絡用のメールアドレスだけ。

Web サーバの nginx も自動的にインストールされて、Web サーバにアクセスできる状態で起動するのですが、nginx の設定は少しだけ調整する必要があります(ドキュメントルートなど)。
数分で OS の再インストールが完了し、下記のような nginx の設定ファイルが自動生成されていました(ドメイン名は example.com
に置換してあります)。
SSL の設定も完了した状態になっています。
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 443 ssl http2;
server_name example.com;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
ssl_protocols TLSv1.2;
ssl_ciphers EECDH+AESGCM:EECDH+AES;
ssl_ecdh_curve prime256v1;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
HTML ファイルの格納ディレクトリ(ドキュメントルート)が、デフォルトでは上記のように /usr/share/nginx/html
になっているので、ここを適切なディレクトリパス(/home/maku/website
など)に置き換えてやれば完了です。
# 設定ファイルを編集
$ sudo vim /etc/nginx/conf.d/https.conf
# 設定を反映
$ sudo service nginx reload
https://example.com/ など https でアクセスできれば OK です。
「403 Forbidden」が出るときは、こちらをチェック。
さいごに広告(^^