https接続が必要になったので、手っ取り早く試せる方法でやってみました。あとついでに独自ドメインも取得してみました。
さくらVPSの登録&設定、Nginxの設定はすでに済ませている状態で話を進めます。
利用するサービス
無料独自ドメイン
http://www.freenom.com/ja/index.html
無料SSL証明書
https://www.wosign.com/English/freeSSL.htm
独自ドメインの取得
freenom.com は無料で .tk
.ml
.ga
.cf
.gq
のドメインを取得できるサービスです。
欲しいドメイン名を入力して、住所などの登録をするだけで取得できます。
さくらVPSにドメインを登録
さくらVPSのネームサーバ登録 (https://secure.sakura.ad.jp/menu/domain/zoneadd.php) に取得したドメインを入力します。
DNS レコードの追加
freenom.com にさくらVPSのDNSのAレコードを追加します。
ドメイン一覧 (https://my.freenom.com/clientarea.php?action=domains) で、追加したドメインのところにある Manage Domain
をクリックします。
Manage Freenom DNS
をクリックします。
Add RecordのところにDNSの設定を記述します。TypeはA
を選択し、TargetにさくらVPSのIPアドレスを入力します。
Save Changes
をクリックして変更を保存します。
独自ドメインの確認
ここまでで、独自ドメインの設定が完了しました。
すぐに独自ドメインでアクセスできるか確認したくなりますが、DNSレコードの変更の反映に数分かかるので、しばらく待ってから行ったほうがいいです。
確認できたら、SSLの設定に進みます。
SSL証明書の取得
WoSign は無料でSSL証明書を取得できるサービスです。
登録は https://buy.wosign.com/free/ でできます。
ページにアクセスしたら、Domain name
に先ほど取得したドメインを入力します。
AlgorithmはSHA2
を選択します。
後は、メールなどのバリデーションを行います。
My Order の画面で要求したSSL証明書のOperationの項目をクリックします。
サイト所有者の確認を求められるので、Htmlファイルをダウンロードしてサイトのルートディレクトリに配置してバリデーションを行います。
さくらVPSにHtmlファイルを配置した後、Nginxの設定ファイルに以下の様な記述を追加すると簡単です。
location = /ファイル名.html {
root ファイルのディレクトリ
}
設定後はnginxを再起動して設定を反映させます。
sudo service nginx restart
バリデーション後はファイルと設定を削除します。
鍵の作成
Certificate Requestファイルの生成方法の選択画面になるので、Option2
の自分で生成する方法を選択します。
コマンドラインで、鍵を作成します。
openssl genrsa -des3 -out server.key 2048
openssl req -new -sha256 -key server.key -out server.csr
server.csr
の中身をコピーして、テキストボックスに貼り付け、Check CSR
で確認後、Submit
します。
成功すると、Certificateファイルが入ったzipファイルがダウンロードできるようになります。
ダウンロードして解凍すると、Nginx用のCertificateファイルのzipファイルがあるのでそれを解凍します。
さくらVPSの任意の場所に解凍した.crt
ファイルを配置します。分かりやすくserver.crt
にリネームしておきます。
Nginxの設定
SSLの設定をNginxの設定ファイルに追加します。
server {
listen 443;
ssl on;
ssl_certificate /path/to/server.crt;
ssl_certificate_key /path/to/server.key;
server_name 取得したドメイン名;
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:12345/hogehoge;
}
}
※ 設定は一例です。
設定後はnginxを再起動して設定を反映させます。
sudo service nginx restart
SSLの確認
以上で設定は完了したので、https://ドメイン名
でアクセスできるかを確認します。
これで、独自ドメインとSSLの設定は全て終わりました。無料で出来ましたが、ただより高いものはないというので、お金を払える人は有償で実績のあるサービスを利用したほうがいいかもしれませんね。