Переключите SSLVerifyClient в контексте ReverseProxy - PullRequest
1 голос
/ 30 июля 2010

Это часть конфигурации виртуального хоста Apache, входящий запрос, который совпадает, перенаправляется на сервер Apache Tomcat.Все клиенты должны отправить клиентский сертификат для аутентификации для App1, но для App2 он должен быть необязательным.

SSLVerifyClient require
SSLVerifyDepth 2
SSLOptions +ExportCertData +StdEnvVars

ProxyRequests Off

ProxyPass /app1/services/App01 ajp://localhost:8307/app1/services/App01
ProxyPass /app1/services/App02 ajp://localhost:8307/app2/services/App02

<Location /app1/services/App01>
    ProxyPassReverse ajp://localhost:8307/app2/services/App02
</Location>

<Location /app2/services/App02>
    ProxyPassReverse ajp://localhost:8307/app2/services/App02
</Location>

Так есть ли возможность для app2 изменить директиву SSLVerifyClient с обязательной на необязательную?

1 Ответ

1 голос
/ 02 августа 2010

Прочитав много документации и опробовав разные подходы, я нашел решение!

Переведите все прокси-директивы в контекст Location, установите директиву SSLVerifyClient для этих хостов или виртуальных хостов на необязательно и поместите SSLVerifyClient require в директиву Location, где это необходимо.

SSLVerifyClient optional
SSLVerifyDepth 2
SSLOptions +ExportCertData +StdEnvVars

ProxyRequests Off

<Location /app1/services/App01>
    SSLVerifyClient require
    ProxyPass ajp://localhost:8307/app1/services/App01
    ProxyPassReverse ajp://localhost:8307/app2/services/App02
</Location>

<Location /app2/services/App02>
    ProxyPass ajp://localhost:8307/app2/services/App02
    ProxyPassReverse ajp://localhost:8307/app2/services/App02
</Location>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...