クライアント証明書とIP制限

外からはクライアント証明書を要求して、中からは素通しさせたいケース

Apache2.4ならこんな感じ

SSLCACertificateFile /etc/apache2/ssl/example.crt

<Directory /var/www>
    Options Indexes FollowSymLinks MultiViews ExecCGI
    Require ip 192.168.100.0/24
    SSLVerifyClient require
    Satisfy any
</Directory>

curlで確認

curl https://example.net --key client.key --cert cert.crt --http1.1

作るときは /usr/lib/ssl/misc/CA.pl -newreq とかで適当に作る
鍵とセットなら良いのでcommon nameとかは適当

参考リンク

プライベートCA作るまで