SSLマルチサイトのテスト環境
Wordpress | 2014/10/07 Tue 19:12
| ユーザーが複数のサイトをWordpressで運用していて、テスト環境用にPCのVMwareでCentOS 6.5をインストールしています。
そんなに頻繁にテストサイトが必要にならないことから、次の手順でテスト環境を構築しています。
1.変更が必要なサイトだけを、本番環境からFTPでごっそりコピー(chown -R apache:apacheを忘れずに)
2.データベースのエクスポートとインポート
3.VirtualHostの定義をコピーしたサイト名に変更
4.ブラウザ側OSのhostsファイルを書き換え。
基本的にはこれだけで、本番と同一のテスト環境が作成できます。
サイト間の連携をテストする場合には、VirtualHostの定義を複数にします。
ところが、SSLサイトを複数入れる方法がわからず、SSLサイト間の連携テストができていませんでした。
apacheのSSLは基本的にIPベースのVirtualHostしか認めないことが原因です。
手っ取り早くは、CentOSをコピーして、もう一つテスト環境を作成し、VMwareで2つのCentOSを起動することですが、
ディスク容量の心配と、管理も面倒です。3つになるとさすがにハイスペックのPCが必要になります。
ネットを彷徨うと、
「IPエイリアス」を使ってIP毎にサイトを分ける。
「Subject Alternative Names(SAN)を含む証明書」を使う。
の2つの方法がありそうです。
「IPエイリアス」の場合は、
/etc/sysconfig/network-scripts/ifcfg-eth0 に、IPADDR2,NETMASK2 を追加して、
ssl.confを
のようにするのだろうと思いますが、
今回は、SANを使う方法を試しました。
【/etc/pki/tls/openssl.conf の修正】
[ req ]
req_extensions = v3_req ←コメントをはずす。
[ v3_req ]
subjectAltName = @alt_names ←追加する
[ alt_names ] ←このセクションを追加
DNS.1 = www.xxxx.com
DNS.2 = www.yyyy.jp
DNS.2 = www.zzzz.co.jp
【鍵ファイル作成】
/etc/pki/tls/private に移動して
できたファイルを /etc/ht tpd/conf にコピー。
【ssl.confの編集】
ssl.conf では、VirtualHost のところを次のように変更します。
これで、ht tpdを再起動して準備完了です。
もちろん、オレオレ証明書なので、ブラウザで最初に開くときに警告が出ますが、
テスト環境なので特に気にしません。
Tags: Wordpress
そんなに頻繁にテストサイトが必要にならないことから、次の手順でテスト環境を構築しています。
1.変更が必要なサイトだけを、本番環境からFTPでごっそりコピー(chown -R apache:apacheを忘れずに)
2.データベースのエクスポートとインポート
3.VirtualHostの定義をコピーしたサイト名に変更
4.ブラウザ側OSのhostsファイルを書き換え。
基本的にはこれだけで、本番と同一のテスト環境が作成できます。
サイト間の連携をテストする場合には、VirtualHostの定義を複数にします。
ところが、SSLサイトを複数入れる方法がわからず、SSLサイト間の連携テストができていませんでした。
apacheのSSLは基本的にIPベースのVirtualHostしか認めないことが原因です。
手っ取り早くは、CentOSをコピーして、もう一つテスト環境を作成し、VMwareで2つのCentOSを起動することですが、
ディスク容量の心配と、管理も面倒です。3つになるとさすがにハイスペックのPCが必要になります。
ネットを彷徨うと、
「IPエイリアス」を使ってIP毎にサイトを分ける。
「Subject Alternative Names(SAN)を含む証明書」を使う。
の2つの方法がありそうです。
「IPエイリアス」の場合は、
/etc/sysconfig/network-scripts/ifcfg-eth0 に、IPADDR2,NETMASK2 を追加して、
ssl.confを
DocumentRoot /var/www/html/xxxx.com ServerName www.xxxx.com:443 ... SSLCertificateFile /etc/ht tpd/conf/server1.crt SSLCertificateKeyFile /etc/ht tpd/conf/server1.key DocumentRoot /var/www/html/yyyy.jp ServerName www.yyyy.jp:443 ... SSLCertificateFile /etc/ht tpd/conf/server2.crt SSLCertificateKeyFile /etc/ht tpd/conf/server2.key
のようにするのだろうと思いますが、
今回は、SANを使う方法を試しました。
【/etc/pki/tls/openssl.conf の修正】
[ req ]
req_extensions = v3_req ←コメントをはずす。
[ v3_req ]
subjectAltName = @alt_names ←追加する
[ alt_names ] ←このセクションを追加
DNS.1 = www.xxxx.com
DNS.2 = www.yyyy.jp
DNS.2 = www.zzzz.co.jp
【鍵ファイル作成】
/etc/pki/tls/private に移動して
openssl genrsa 2048 > server.key openssl req -new -key server.key > server.csr openssl x509 -days 3650 -req -signkey server.key < server.csr > server.crt
できたファイルを /etc/ht tpd/conf にコピー。
【ssl.confの編集】
ssl.conf では、VirtualHost のところを次のように変更します。
DocumentRoot /var/www/html/xxxx.com ServerName www.xxxx.com:443 ... SSLCertificateFile /etc/ht tpd/conf/server.crt SSLCertificateKeyFile /etc/ht tpd/conf/server.key DocumentRoot /var/www/html/yyyy.jp ServerName www.yyyy.jp:443 ... SSLCertificateFile /etc/ht tpd/conf/server.crt SSLCertificateKeyFile /etc/ht tpd/conf/server.key DocumentRoot /var/www/html/zzzz.co.jp ServerName www.zzzz.co.jp:443 ... SSLCertificateFile /etc/ht tpd/conf/server.crt SSLCertificateKeyFile /etc/ht tpd/conf/server.key
これで、ht tpdを再起動して準備完了です。
もちろん、オレオレ証明書なので、ブラウザで最初に開くときに警告が出ますが、
テスト環境なので特に気にしません。
Tags: Wordpress
author : HUNDREDSOFT | - | -