Nacky - Snowland.net

Nacky(Issei Ishii)がDJ/Composerのようなふりして書き散らすblogサイト

Info

Nacky - Snowland.net - blogを移転しました

2010-07-16

Apache上のSSL環境でVirtualHost/リバースプロキシ

■状況
・テスト用途等でLAN内にVMが増えている
・外から見たいよ!と言われる
・グローバルIPが1個しかないし
・代表サーバ1個にリバースプロキシになってもらいましょう
・SSLはどうするの

■解決策
・非SSLはリバースプロキシ立てて解決
・SSLもリバースプロキシ立てて解決
・証明書のエラーは目をつぶれ(なのでテスト用以外では使えない)

■環境
・代表サーバはCentOS5でApacheもデフォルトで入ってるもの
・転送先サーバは何でもよさげ(CentOS5+Apache2,Win2k3+IIS6で確認)

以下メモ.


■リバースプロキシを動作させる
NameVirtualHost *:80
<VirtualHost *:80>
 ServerName hoge1.example.com
 ProxyPass / http://hoge1.localdomain/
 ProxyPassReverse / http://hoge1.localdomain/
</VirtualHost>

■SSLで複数の名前ベースのVirtualHostを動作させる
一般的にSSLでIP1個で名前ベースのVirtualHostは無理と言われていますが,証明書のエラーやらを無視すればできることはできます。
NameVirtualHost *:443
# ↑ssl.confに書いてないので追加
<VirtualHost *:443>
 ServerName hoge1.example.com
 SSLEngine On
# (略,ssl.confのvirtualhostと同じことを書けば良い)
</VirtualHost>
<VirtualHost *:443>
 ServerName hoge2.example.com
 SSLEngine On
# (略,ssl.confのvirtualhostと同じことを書けば良い)
</VirtualHost>
これでSSL時もNameBasedのVirtualHostが有効になりました.もちろん証明書エラーは出ます.

■SSLでリバースプロキシ動作をさせる
上記のノリで
<VirtualHost *:443>
 ServerName hoge3.example.com
 SSLProxyEngine On
 ProxyPass / https://hoge3.localdomain/
 ProxyPassReverse / https://hoge3.localdomain/
</VirtualHost>
SSL証明書は代表サーバのものになりました.
posted at 18:28:51 on 2010-07-16 by nacky - Category: Com/Tech

ソニーストア

TrackBack

このエントリにトラックバックはありません
トラックバックURL

Comments

No comments yet

Add Comments