さまよう大アリクイ

横浜市に住む。ホームページを作っていたりするが、最近滞り気味。

Apacheのバーチャルホスト

Apacheのバーチャルホスト(Virtual host)を使ったリバースプロキシ(Reverse Proxy)で、 裏サーバでパスワード認証が必要な場合のapachehttpd.confの書き方の例です。
ServerName front_server ServerAlias front_server.example.com ProxyPass / http://back_server/ ProxyPassReverse / http://back_server/ RequestHeader set Authorization "Basic bmFnaW9zYWRtaW46aG9nZWhvZ2UK"
裏サーバの/nagios以下を見る際に、ユーザIDがnagiosadminで、パスワードがhogehogeのベーシック認証が必要という条件の設定です。 RequestHeader set で、Authorizationヘッダの差し替えをしています。 途中の暗号っぽい部分はBase64でコード化したユーザIDとパスワードです。 Base64のコード化と解読は、以下でできます。
$ echo nagiosadmin:hogehoge | base64 bmFnaW9zYWRtaW46aG9nZWhvZ2UK $ echo bmFnaW9zYWRtaW46aG9nZWhvZ2UK | base64 -d nagiosadmin:hogehoge
表側の認証と、裏側の認証が干渉する場合の対処です。