Q1) Я новичок в Apache HTTP Server, я пытаюсь настроить SSLRequire для определенных контекстов. Ниже приведены 2 случая:
a) Проверяя атрибуты сертификата, подписанного CA, он работает должным образом:
<Location /https_ca_ba/getItem1>
SSLVerifyClient require
SSLVerifyDepth 10
SSLRequireSSL
SSLRequire %{SSL_CLIENT_S_DN_O} eq "My Org" \
and %{SSL_CLIENT_S_DN_OU} eq "My Team" \
and %{SSL_CLIENT_S_DN_CN} eq "<ca-signed-cert>.mycompany.com"
RequestHeader set Authorization "Basic <base64string>"
ProxyPass https://internal_host:443/ws/soap/getItem
ProxyPassReverse https://internal_host:443/ws/soap/getItem
</Location>
б) Проверка по самоподписанному сертификату. Однако я получил ошибку «AH02229: доступ к прокси: https: //: 443 / ws / soap / getItem не удалось, причина: выражение требования SSL не выполнено». Я дважды проверяю, настроено правильное имя CN:
<Location /https_ca_ba/getItem2>
SSLVerifyClient none
SSLRequire %{SSL_CLIENT_S_DN_CN} eq "<self-signed-cert>.mycompany.com"
RequestHeader set Authorization "Basic <base64string>"
ProxyPass https://internal_host:443/ws/simple/getItem
ProxyPassReverse https://internal_host:443/ws/simple/getItem
</Location>
Я неправильно настроил?
Q2) Есть ли способ настроить аутентификацию сертификата клиента на HTTP-сервере Apache? Сертификат предоставит сторонняя сторона.
Могли бы вы, пожалуйста, посоветовать?
Спасибо
С уважением, Дэймон
Отсутствуют скобки для SSLRequire
SSLRequire ( %{SSL_CLIENT_S_DN_O} eq "My Org" \
and %{SSL_CLIENT_S_DN_OU} eq "My Team" \
and %{SSL_CLIENT_S_DN_CN} eq "<ca-signed-cert>.mycompany.com" )