クライアント認証をディレクトリ単位でかけるメモ

Apache におけるクライアント認証の話。

/etc/httpd/conf.d/ssl.conf 内に下記記述を追加することで(多分ディフォルトでコメントになっているはずなので、コメントマークを外してやる)、クライアント認証が可能になる。

SSLVerifyClient require
SSLVerifyDepth  10

・・・が、これだと、サイト全体にクライアント認証がかかってしまう。

証明書を持っていないユーザがアクセスすると、(Google Chrome の場合)「このサイトは安全に接続できません www.exsample.jp から無効な応答が送信されました。 ERR_SSL_PROTOCOL ERROR」というエラー画面が出て、どのコンテンツにもアクセスできない。

ある特定のディレクトリだけを会員サイトのような扱いで「クライアント証明が必要」とするには、この設定を再度コメントに戻す。

#SSLVerifyClient require
#SSLVerifyDepth  10

これで、誰でも(自己認証局の場合「この接続ではプライバシーが保護されません」という脅し文句が表示されるけど(^^; ) https サイトを見ることができるようになる。

そして、ディレクトリー単位で制限をかけたい場合は、<Directory> ディレクティブに設定を行う。

たとえば、https://www.exsample.jp/crt_test1/ のみクライアント認証を行いたい場合は、ssl.conf 内に

<Directory "/var/www/html/crt_test1">

    SSLRequireSSL
    SSLVerifyClient require
    SSLVerifyDepth  10

</Directory>

のようなディレクティブを追加する。

これで、

https://www.exsample.jp/crt_test1/

にはアクセスできるが、

https://www.exsample.jp/crt_test1/

では、上に書いたように「無効な応答が送信されました」のエラーとなる。
Clip to Evernote

トラックバック(0)

このブログ記事を参照しているブログ一覧: クライアント認証をディレクトリ単位でかけるメモ

このブログ記事に対するトラックバックURL: http://blog.netandfield.com/mt/mt-tb.cgi/3900

コメントする

このブログ記事について

このページは、shinodaが2016年4月27日 12:39に書いたブログ記事です。

ひとつ前のブログ記事は「ついにキクラゲラーメンを口に・・・」です。

次のブログ記事は「複数のディレクトリで、それぞれのクライアント証明書で認証」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。


月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら