人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

1つのIPで複数のSSLサイトを運用する方法

バーチャルホストにて、
http://www.hoge.com
http://www.moge.net
という2つのドメインを運営しているのですが、
両方のドメインで、SSLの認証を行う必要に迫られました。

https://www.hoge.com
https://www.moge.net:444
というURLになっても問題ありません。

1つのIPアドレスに複数ポートを定義することにより、
このような運用は可能だということは分かったのですが、
どのように設定すればいいのか分かりません。

「CentOSで自宅サーバ構築」を参考に
サーバを構築させて頂きました。

httpd.conf
ssl.conf

にどのような記述をすればいいのでしょうか?

●質問者: wakutan
●カテゴリ:ウェブ制作
✍キーワード:CentOS httpd SSL アドレス サイト
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● b-wind
●50ポイント ベストアンサー

まず、443 以外での HTTPS の使用は推奨しかねる為、正攻法は2つのドメインに別々のIPを割り当てる方法です。

バーチャルホストによる複数サイトの同時運用(2/2)

出来るだけこの形の方が好ましいですが、状況によっては難しいかもしれません。


設定方法はまず、通常の形で SSL を使用できるところまでは設定してください。(モジュールのインストール・有効化など)

その上で、IPアドレスを aaa.bbb.ccc.ddd とすると

Listen 443
Listen 444
NameVirtualHost aaa.bbb.ccc.ddd:443
NameVirtualHost aaa.bbb.ccc.ddd:444

<VirtualHost aaa.bbb.ccc.ddd:443>
SSLEngine on
ServerName www.hoge.com
DocumentRoot /www/httpd/www.hoge.com
ServerAdmin webmaster@www.hoge.com
ErrorLog logs/error_log
TransferLog logs/access_log
SSLCertificateFile ssl.crt/www.hoge.com.crt
SSLCertificateKeyFile ssl.key/www.hoge.com.key
</VirtualHost>

<VirtualHost aaa.bbb.ccc.ddd:444>
SSLEngine on
ServerName www.moge.net
DocumentRoot /www/httpd/www.moge.net
ServerAdmin webmaster@www.moge.net
ErrorLog logs/error_log
TransferLog logs/access_log
SSLCertificateFile ssl.crt/www.moge.com.crt
SSLCertificateKeyFile ssl.key/www.moge.com.key
</VirtualHost>

という設定を出来るだけ後ろに追加することで、VirtualHost が使用できます。

また、各ファイルのパス等については実際に使用するものに読み替えてください。

◎質問者からの返答

下記のように設定を行いましたが、

sslで保護されたページにアクセスすると

https://www.hoge.com

https://www.moge.net:444

の両方で、どこを見にいけばいいのか分からないという感じで、

少し時間が経ったあと「ページを表示できません。」

という画面になります。

ssl.confの元の設定では、

<VirtualHost _default_:443>

?

</VirtualHost>

のようになっていました。

この部分を教えて頂いたように変更してテストをして見ました。


設定をかえた この部分を

<VirtualHost aaa.bbb.ccc.ddd:443>→<VirtualHost _default_:443>

元に戻すと、https://www.hoge.com のSSLにはアクセスできました。

どの部分がおかしいのでしょうか?

どうぞよろしくお願いいたします。



virtualhost.conf

-----------------------------------------------------

NameVirtualHost *:80

<VirtualHost *:80>

ServerName www.hoge.com

</VirtualHost>

<VirtualHost *:80>

ServerName www.moge.net

ErrorLog logs/virtual-error_log

CustomLog logs/virtual-access_log common

DocumentRoot /var/www/html/moge

</VirtualHost>

<VirtualHost *:80>

ServerName www.moge.net

ErrorLog logs/virtual-error_log

CustomLog logs/virtual-access_log common

DocumentRoot /var/www/html/moge

</VirtualHost>

-----------------------------------------------------

ssl.conf

-----------------------------------------------------

Listen 443

Listen 444

NameVirtualHost aaa.bbb.ccc.ddd:443

NameVirtualHost aaa.bbb.ccc.ddd:444

<VirtualHost aaa.bbb.ccc.ddd:443>

ServerName hoge.com

ServerAlias www.hoge.com

DocumentRoot /var/www/html

ErrorLog logs/ssl_error_log

TransferLog logs/ssl_access_log

LogLevel warn

SSLEngine on

SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP

SSLCertificateFile /etc/httpd/conf/ssl.crt/www.hoge.com.crt

SSLCertificateKeyFile /etc/httpd/conf/ssl.key/www.hoge.com.key

<Files ~ "\.(cgi|shtml|phtml|php3?)$">

SSLOptions +StdEnvVars

</Files>

<Directory "/var/www/cgi-bin">

SSLOptions +StdEnvVars

</Directory>

SetEnvIf User-Agent ".*MSIE.*" \

nokeepalive ssl-unclean-shutdown \

downgrade-1.0 force-response-1.0

CustomLog logs/ssl_request_log \

"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

</VirtualHost>


<VirtualHost aaa.bbb.ccc.ddd:444>

ServerAlias www.moge.net

ServerName moge.net

DocumentRoot /var/www/html/www.moge.net

ErrorLog logs/ssl_error_log

TransferLog logs/ssl_access_log

LogLevel warn

SSLEngine on

SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP

SSLCertificateFile /etc/httpd/conf/ssl.crt/www.moge.net.crt

SSLCertificateKeyFile /etc/httpd/conf/ssl.key/www.moge.net.key

<Files ~ "\.(cgi|shtml|phtml|php3?)$">

SSLOptions +StdEnvVars

</Files>

<Directory "/var/www/cgi-bin">

SSLOptions +StdEnvVars

</Directory>

SetEnvIf User-Agent ".*MSIE.*" \

nokeepalive ssl-unclean-shutdown \

downgrade-1.0 force-response-1.0

CustomLog logs/ssl_request_log \

"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

</VirtualHost>

-----------------------------------------------------


2 ● b-wind
●35ポイント

aaa.bbb.ccc.ddd の部分はサーバーのIPアドレスに正しく書き換えていますか?

また、サーバーのエラーログ、erro_log か ssl_request_log に情報が出力されていませんか?

http://q.hatena.ne.jp/answer

◎質問者からの返答

返答が遅れまして、申し訳ございません。

ローカル環境でテストを行ったところうまく行きました。

ポートスキャンのテストを行ったところ

444のポートが解放できないことが問題だと

分かりました。

http://www.cman.jp/network/support/port.html

ルータでいくら設定を行っても、

ポートスキャンのテストで、アクセスできない

メッセージが表示されます。

ルータを変えて、テストを行いましたが、同様の症状がでたため、

プロバイダー(BBIQ)に問い合わせを行いましたが、

ポートの制限は行っていないとのこと。

ローカル側からうまくいくことを考えると

サーバで拒否しているわけでもなさそうですし、

途方にくれております。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ