VPSを使ってみました。その時の手順をご紹介しておこうと思います。ちなみに、NginxはDockerではなく、サーバーに直接作成しています。今後の目標としては、Nginxをプロキシサーバーとして使用して、Dockerコンテナーでマイクロサービスを実現していきたいと思っていますが、果たしてどこまで進めるかは未定です。契約とサーバー作成Conohaのページから申し込みをします。ちなみに、自分が契約したのは10月でしたが、そのすぐ後に、50万人突破キャンペーンでさらに利用料が安くなっていて、とても悔しい思いをしました。VPS割引きっぷを使用して契約しました。これがあるとアルファSSLが無料で使用できるとのことでした。1GBタイプを選択しました。(画像は記事作成時のものです。キャンペーン価格になっています)ドメイン取得VPSメニューのドメインからドメイン取得を選択します使用したいドメイン名を入力して検索しますためしに、sample-testで検索してみたらこんな結果が出てきました。使用されているものがあるようですね。自分が使用するドメインはこれではなかったですが、どこにも使われていないものが良いと思います。カートに追加して、必要情報を入力して支払いに進めばドメイン取得完了です。ドメインを取得しても、まだIPアドレスとは紐づけられていません。これは実際にサーバーを作成して、サーバーのIPとの紐づけ設定をする必要があります。サーバー作成メニューからサーバー追加を選択すると以下のような画面が表示されます。イメージタイプとしてOSを選べたり、アプリケーションを選べるのですが、アプリケーションテンプレートを選択した場合、OSを選択することができません。ヘルプを見ると、アプリケーションテンプレートによってOSやバージョンが固定されています。これが最初よくわからなくて戸惑いました。Ubuntuにしたいのに、CentOSになっているということがありました。何度も作り直しできるので、最初はいろいろなアプリケーションテンプレートを試すのもいいかなと思います。自分は勉強のために使いたかったので、Ubuntuを選択して、ほかは自分で構築するようにしました。ネームサーバー設定メニューからDNSを選択すると、作成したドメインが表示されています(もしなかった場合は[+ドメイン]ボタンからドメイン名を入力して保存します)。最初は以下のものしかないかと思います。これにサーバーのIPレコードを追加します。サーバーのIPアドレスはサーバーメニューから作成したサーバーを選択すると表示されます。入力値はA(通常)@3600IPアドレスさらにもう一つ追加しますA(通常)www3600IPアドレス@はexample.comwwwはwww.example.comというドメインに対するレコードとなります。Live)の値で60分がデフォルトとなっているようです。Nginxのインストール作成したサーバーにログインします。Termを使って入ってもいいですが、メニューからコンソール使えるのでこっちを使います。conohaのコンソールは少しくせがあるので、使いやすいほうを選べばよいかと思います。コンソールをクリックするとシリアルとVNCから表示を選択できるみたいです。Ubuntuをアップデートしておきますrootで行っていますのでsudo書いていませんが、必要に応じてコマンドの最初にsudoいれてください。active(running)になっていればOKですこのあと、設定ファイルを作成したりしますが、正しくできていない場合、このステータス確認でエラー内容が表示されたりするので、必要に応じて確認するとよいと思います。vpsでlinuxサーバーを作成した場合。22番ポートだけしか開かれていないようです。コンソールから現在の設定状況を確認してみます。verboseverboseを付けると詳細(冗長)なステータスが表示されてポート番号も表示されます。enableNginxFullを設定するこれをすると、Nginxで使用される80番と443番ポートが開かれます。一つずつ設定したい場合は個別に指定してください。そこでその中にsslフォルダを作成します。フォルダ名や作成するディレクトリは他でも問題はありません。/etc/nginx/ssl/etc/nginx/ssl/で2048bitのパスフレーズ付きの鍵を生成します。KEY-----といった感じでENCRYPTEDとなっていて暗号化されているのが分かります。Nginxでこの鍵を使用する場合、パスワードファイルも設定する必要があります。sample.csrここでいくつかの質問が行われますが、必要なのは2か所です。(www.example.comなど)他は基本的にEnterキーで空のままでもいいです。この辺りは、契約しているVPSによって異なるかもしれません。Conohaの場合はこれでいいみたいです。/etc/nginx/ssl/sample.csrConohaでSSL作成するConohaのメニューからSSLを選択しますこのCSR添付にコピーしたものを貼り付けて、CSR内容確認ボタンを押すと、入力した内容が表示されるので、次へと進んでいきます。認証まで進むと、FQDNを選択して、www付と無しの両方が表示されるので、出てきたものを、ネームサーバー設定でドメインレコード設定に貼り付けます。wwwなしTEXT@3600FQDNで表示された値(globalsign-domain-verification=9F8xxxxxx..)wwwありTEXTwww3600FQDNで表示された値(globalsign-domain-verification=9F8xxxxxx..)進めていって問題なければ証明書が発行されます。CRTを生成SSLから証明書をダウンロードしますこの中で証明書(PEM)、中間証明書(ICA)を使用します。/etc/nginx/ssl/sample.crt最初に証明書(PEM)の内容を貼り付けて、次に中間証明書(ICA)の内容を貼り付けます。CERTIFICATE-----保存します。sample.crtが作成されていると思います。最後にsample.passfileを作成します。/etc/nginx/ssl/sample.passfileパスフレーズを入力して保存しておしまい。Nginxの設定Nginxの設定は/etc/nginx/nginx.confにこんな風に設定されています。内の設定ファイルを読み込むということです。-sでエイリアスを生成して利用します。内に設定ファイルを作成していきます。}}これでhttp(80番ポート)にアクセスするとhttps(443番ポート)にリダイレクトされます。ディレクトリ内のindex.htmlとなります。このindex.htmlファイル作成していないので、次にこれを作成します。/var/www/html/sample/index.htmlindex.htmlの中身は適当でいいですが、とりあえずこんな感じで作成しました。<h3>SSLのサンプルページです</h3></body></html>ここまできたらあと少しです。Nginxのリロード設定ファイルの再読み込みなどをします。nginxこのあと、ステータスを確認してActiveになっていれぱ大丈夫です。エラーがあった場合は起動できず、何かしらメッセージが表示されるので確認して修正していきます。nginxリロードしたらウェブページにアクセスします鍵マークが表示されていればOKです。おまけNginxをステータスから確認する以外に、Nginxにはファイルが正しく設定されているか確認するコマンドがあります。Phraseを尋ねられた時は、パスフレーズを入力してください。ここまで来るのにいろいろ調べたりして時間がかかりました。availableが何なのかよくわからなかったなどなどです。次はdockerで作成してみようと思います。