Я надеюсь, что кто-нибудь поможет мне с этим вопросом ...
Я использую сервер Apache 2.4.7 на своем компьютере с Ubuntu 14.04 с некоторыми общедоступными сайтами. Для некоторых из этих сайтов я реализовал аутентификацию клиентского сертификата с использованием самоподписанных сертификатов. Я пытаюсь изменить свою конфигурацию таким образом, чтобы, когда клиент подключается к сайту, находясь в той же сети, что и сервер, полностью обходить аутентификацию.
Вот фрагмент моего файла конфигурации:
SSLEngine On
SSLProtocol -all +TLSv1 +SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM
SSLCertificateFile /etc/ssl/ca/certs/server.crt
SSLCertificateKeyFile /etc/ssl/ca/private/server.key
SSLCACertificateFile /etc/ssl/ca/certs/serverCA.crt
SSLVerifyClient require
SSLProxyEngine Off
ProxyRequests Off
Я попытался изменить эту конфигурацию, переместив SSLVerifyClient require
в Location
блок так:
<Location />
Order deny,allow
Deny from all
Allow from 192.168.1.0/24
SSLVerifyClient require
Satisfy any
</Location>
К сожалению, это не сработало, и мне все равно будет предложено ввести сертификат, или мой сайт будет бесплатно доступен в Интернете.
Спасибо большое за помощь
Я нашел здесь ответ: Разрешение входа пользователей с IP-адреса без аутентификации клиента сертификата
Суть ответа такова:
<VirtualHost *:443>
SSLEngine On
SSLProtocol -all +TLSv1 +SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM
SSLCertificateFile /etc/ssl/ca/certs/server.crt
SSLCertificateKeyFile /etc/ssl/ca/private/server.key
SSLCACertificateFile /etc/ssl/ca/certs/serverCA.crt
SSLVerifyClient optional
SSLProxyEngine Off
ProxyRequests Off
<Location />
Order deny,allow
Deny from all
Satisfy any
Allow from 192.168.1.0/24
RewriteEngine on
RewriteCond %{SSL:SSL_CLIENT_VERIFY} !^SUCCESS$
RewriteCond %{REMOTE_ADDR} !^192.168.1.[0-9]*$
RewriteRule ^ - [F]
<Location />
</VirtualHost>
Основными изменениями здесь являются директивы mod_rewrite в разделе Location и переключатель SSLVerifyClient из требовать к по желанию