Как исключить некоторый путь/страница из клиентской сертификации в Apache 2

Я пытаюсь настроить сервер Apache с клиентской включенной сертификацией. Так, чтобы клиенты могли получить доступ к содержанию с действительным клиентским сертификатом.

Скажем, у меня есть сервер, работающий как

https://myserver/myservice/

Также я должен предоставить интерфейс своим клиентам для получения их клиентских сертификатов путем обеспечения некоторой информации аутентификации

https://myserver/myservice/register

Однажды проверенная информация о загрузке, это возвращает клиентский сертификат.

Если я понимаю правильно, этот путь должен быть исключен из клиентского механизма сертификации, просто потому что он используется для генерации сертификатов. Таким образом, вопрос, как я могу указать конфигурацию httpd для достижения этого?

Моя текущая конфигурация идет как:

ProxyPass /myservice/register http://localhost:4444/register

<Virtualhost *:443>
    ServerName myserver
    DocumentRoot /path/to/my/server/root
    ProxyPass /myservice/ ajp://localhost:8009/myservice/
    SSLEngine on
    SSLProtocol all -SSLv2
    SSLCertificateFile /path/to/server.cert
    SSLCertificateKeyFile /path/to/server.key
    ...
    SSLVerifyClient require
    SSLVerifyDepth 10
    SSLCACertificateFile /path/to/ca.buddle.pem
</Virtualhost>

С этой конфигурацией я могу получить клиентский сертификат от

http://myserver/myservice/register

затем получите доступ к сервису с помощью него. Все же мне не удалось установить его на https, так, чтобы я мог закрыть 80 портов.

2
задан 21 February 2015 в 02:27
1 ответ

Теперь у меня есть решение, просто используя или исключая путь целевого URL.

<Virtualhost *:443>
    ServerName myserver
    DocumentRoot /path/to/my/server/root
    ProxyPass /myservice/register http://localhost:4444/register
    ProxyPass /myservice/ ajp://localhost:8009/myservice/
    SSLEngine on
    SSLProtocol all -SSLv2
    SSLCertificateFile /path/to/server.cert
    SSLCertificateKeyFile /path/to/server.key
    ...
    SSLVerifyClient require
    SSLVerifyDepth 10
    SSLCACertificateFile /path/to/ca.buddle.pem

    <LocationMatch ^/myservice/register$>
        SSLVerifyClient none
    </LocationMatch>

</Virtualhost>
2
ответ дан 3 December 2019 в 11:38

Теги

Похожие вопросы