LoginSignup
19
17

More than 5 years have passed since last update.

sslの取得と設定 - Ruby on Rails環境構築 08

Last updated at Posted at 2015-09-11

sslの取得と設定について説明していきます。環境構築を何回かに分けて明記しています。OSはCentOSです。

ドメインがexample.comと仮定して作成しています。

ドメイン取得者の情報の取得

whoisをインストールして調査します。

sudo yum install jwhois

whoisコマンドにドメイン名を与えます。

whois example.co.jp
  • sslサーバー証明書の申請で仕様数情報は、原則としてWHOIS情報と一致させてください。

ドメインメールアドレスの確認

example.comのために証明書を取得する場合、administrator@example.com宛にメールが届き、そのメールから手続きが進みます。ユーザ名はadministrator, postmaster, webmasterなどから選べるようになっています。事前にメールが対象のアドレスに届くか確認しておきます。

秘密鍵の作成

Webサーバの秘密鍵を作成します。

まず、ディレクトリを作成し、移動します。

sudo mkdir -p /usr/local/etc/ssl/private
cd /usr/loca/etc/ssl/private

秘密鍵を作成します。

sudo openssl genrsa -out example.com.key -des3 2048
  • パスフレーズを2回求められるので入力してください。

秘密鍵ファイルのパーミッションを変更します。

sudo chmod 400 example.com.key

最後に秘密鍵からパスフレーズを削除します。Webサーバを自動起動するために必要な手順になります。

sudo mv example.com.key example.com.key.orig
sudo openssl rsa -in example.com.key.orig -out example.com.key

CSRの作成

申請に必要なCSRを作成します。

sudo openssl req -new -key example.com.key -out ../example.co.csr

サイト所有者の情報を対話的に入力していきます。

項目名 説明
Country Name 日本ならJP
State of Province Name 都道府県
Loclity Name 市区町村名
Organization Name whoisコマンドのOrganizationまたはRegistrant Name
Organization Unit Name 組織の部門名、省略可能
Common Name サーバのドメイン名

example.co.csrが作成されます。

SSL証明書の申し込み

認証局により異なりますが、サイトの指示に従い、証明書を発行すると設定したメールアドレスにメールが届きます。※サイトにて先ほどのCSRの内容を入力する部分が有ります。

メールにて送られてきたSSL証明書をコピーして任意のファイル名で保存します。example.com.pemとしておきます。

中間CA証明書のある場合、ca.pemとして保存しておきます。ca.pemには中間CA証明書→クロスノート証明書(ssl認証局によって異なる)を記載します。

証明書の設置

scpでサーバに先ほどのファイルをアップロードします。

scp example.com.pem ca.pem example.com:~

SSHでログインして、証明書を移動します。

ssh yourname@契約したIPアドレス
sudo mkdir -p /usr/local/etc/ssl/certs
sudo mv example.com.pem ca.pem /usr/local/etc/ssl/certs
sudo chown root:root /usr/local/etc/ssl/certs/*.pem

mod_sslをインストールします。

sudo yum install -y mod_ssl

非SSL用の設定ファイルをappnameをコピーします。

cd /etc/httpd/sites-available
sudo cp appname appname-ssl
  • appnameは適宜変更してください。

エディタでappname-sslを開き、1行目を修正します。

sudo vi appname-ssl
<VirtualHost 契約したIPアドレス:443>

2行目に下記を挿入して保存します。

SSLEngine on
SSLCertificateKeyFile    /usr/local/etc/ssl/private/example.com.key
SSLCertificateFile       /usr/local/etc/ssl/certs/example.com.pem
SSLCertificateChainfile  /usr/local/etc/ssl/certs/ca.pem

BrowserMatch "MSIE [2-6]" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown

シンボリックを設定します。

sudo ln -s /etc/httpd/sites-available/appname-ssl /etc/httpd/sites-enabled/002-appname-ssl

最後にApacheを再起動します。

sudo service httpd restart
19
17
0

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
  3. You can use dark theme
What you can do with signing up
19
17