Engine Yard Developer Center

SSLの追加・更新

概要

Engine Yard CloudにSSLの証明書を追加する方法を説明いたします。SSL証明書はサードパーティから取得する必要があります。

 

全体の手順

  1. 秘密鍵の作成と証明書署名要求ファイルを作成
  2. SSL証明書の購入/発行する
  3. Engine Yard CloudアカウントへSSL証明書を登録する
  4. 証明書をEnvironmentへの適用する
  5. 証明書の設定確認

出てくるファイルの種類(表記方法いいろいろあります)

  • 秘密鍵 key file, .key, RSA PRIVATE KEY 
  • 証明書署名要求  CSR, .csr, CERTIFICATE REQUEST
  • 証明書, CRT, .crt, CERTIFICATE

  • 中間証明書, CRT, .crt, Certificate chain file

秘密鍵の作成と証明書要求ファイルの作成

Unixベースのシェルコマンドを使用します。opensslコマンドが使えることが前提となっております。

1. 秘密鍵の生成

 $openssl genrsa -out mydomain.com.key 2048 

2. 証明書署名要求を先ほど作った秘密鍵を指定して生成

$openssl req -new -key mydomain.com.key -out mydomain.com.csr 

SSL証明書を購入/発行する

証明書署名要求ファイルをSSL証明書プロバイダーにあげて、SSL証明書を購入/発行してください。

Verisign(Northon), GeoTrust, RapidSSLなど、どちらのプロバイダーでも問題ありません。

証明書(ある場合は)中間証明書の二点を受取ます。

Engine Yard CloudアカウントにSSL証明書を登録する

追加するのに必要なファイルは以下です。

  • SSLプロバイダーから提供された証明書 crt (SSL Certificate)
  • 証明書を発行するために作った秘密鍵 key (SSL Certificate Key)
  • (もしプロバイダーより提供があれば)中間証明書 (Certificate chain file)

手順

  1. Engine Yardの Dashboardから、ツール > SSL証明書を選択してください
  2. Add SSL Certificateをクリックし、Upload SSL Certificateを選んでください
  3. 用意いただいた、ファイルをそれぞれのフォームに入力しAdd Certificateをクリックして下さい

証明書をEnvironmentに適用する

アカウントに追加したSSL証明書を特定のEnvironmentに設定し、サーバにその設定を反映します。

手順

  1. Engine YardのDashboardから、設定したいEnvironmentを選びます
  2. SSL Certificationプルダウンから、先ほどアカウントに追加した証明書を選びます
  3. Update SSL Settingsをクリックします
  4. EnvironmentのApplyボタンを押して、サーバに設定を反映させます

証明書の設定確認

アプリケーションをdeployした後、SSL Shopperにてサイトを確認することをおすすめします。

更新

証明書署名要求(CSR)を再度作成して、SSLプロバイダーから証明書を取得してEngine Yard に登録しているSSLを更新してください。

その後Applyを該当のEnvironemntに適応してください。

 

よくあるご質問

Q. HTTPでのアクセスを制御したい、HTTPでアクセスが来た時、HTTPSにリダイレクトさせたい.

A. /etc/nginx/servers/#{appname}/custom.conf に以下の様なリライトを追加してください。nginxの再起動が必要です。

rewrite        ^ https://$server_name$request_uri? permanent;

参考

https://support.cloud.engineyard.com/entries/21016553

 

 

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
他にご質問がございましたら、リクエストを送信してください

コメント

  • Avatar
    Goh Matsumoto

    この記事は2015年にポストされたものですが、現在でも有効でしょうか?
    「よくあるご質問」にある「Q. HTTPでのアクセスを制御したい、HTTPでアクセスが来た時、HTTPSにリダイレクトさせたい.」を実現したいのですが、うまくできませんでした。
    /data/nginx/servers/アプリケーション名/custom.conf に rewrite を追加したところ、redirectループに陥ってしまいました。
    現在使用しているstackのバージョンは「stable-v5-3.0.31」です。

  • Avatar
    Yu Kitazume

    遅くなって申し訳ありません。チケットでも返信しておりますが、こちらでも、返信しておきます。

    stack-v5で少し構成が変わり、solo構成(一台構成)でも、haproxy(ロードバランサー)が前段におりまので、LBに来たときのschemaヘッダーを参照してください。

    ```
    if ($http_x_forwarded_proto != 'https') {
    rewrite ^ https://$host$request_uri? permanent;
    }
    ```

ログインしてコメントを残してください。

Powered by Zendesk