私たちのサイトはApacheで実行されており、クライアント証明書を使用して保護されています. これまでのところ、サイト全体へのアクセスを提供する証明書は 1 つしかありませんでした。ここで、jira 以外にアクセスできない新しいユーザー グループに jira を公開する必要があります。そのグループ用に別の証明書を作成し、SSLRequire と Location/LocationMatch の組み合わせを使用してそれらを区別することを計画しています。
したがって、基準は次のとおりです。
- 古い証明書を持つユーザーは完全なサイトにアクセスできます
- 新しい証明書を持つユーザーは /jira URL パターンにのみアクセスできます
私はいくつかの組み合わせを試しましたが、LocationMatch の否定を得ることができませんでした。どんな助けでも大歓迎です。
httpd.conf ファイルは次のようになります。
SSLVerifyClient require
SSLVerifyDepth 1
SSLCACertificateFile /etc/apache2/ssl/myca.crt
<Location /jira>
SSLRequire %{SSL_CLIENT_S_DN_CN} in {"AllUsers", "JiraUsers"}
</Location>
<LocationMatch /!(jira)>
SSLRequire %{SSL_CLIENT_S_DN_CN} eq "AllUsers"
</LocationMatch>