search
LoginSignup
62

More than 5 years have passed since last update.

posted at

Organization

さくらVPS + nginx に無料で独自ドメインとSSLを設定する

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の設定ファイルに以下の様な記述を追加すると簡単です。

/etc/nginx/conf.d/default.conf
location = /ファイル名.html {
    root ファイルのディレクトリ
}

設定後はnginxを再起動して設定を反映させます。

zsh
sudo service nginx restart

バリデーション後はファイルと設定を削除します。

鍵の作成

Certificate Requestファイルの生成方法の選択画面になるので、Option2の自分で生成する方法を選択します。

コマンドラインで、鍵を作成します。

zsh
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の設定ファイルに追加します。

/etc/nginx/conf.d/default.conf
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を再起動して設定を反映させます。

zsh
sudo service nginx restart

SSLの確認

以上で設定は完了したので、https://ドメイン名でアクセスできるかを確認します。

これで、独自ドメインとSSLの設定は全て終わりました。無料で出来ましたが、ただより高いものはないというので、お金を払える人は有償で実績のあるサービスを利用したほうがいいかもしれませんね。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
62