Назад | Перейти на главную страницу

Пользователь перенаправления Apache, если он использует SSLv3

Я хотел бы перенаправить любых пользователей на нашем сайте, если они попытаются использовать SSLv3 (если я просто отключу SSLv3 и появится браузер, такой как IE6, я не смогу правильно перенаправить его на http-версию нашего сайта с ошибкой message - поэтому я хотел бы разрешить SSLv3, но перенаправить, если они его используют, на сообщение об ошибке).

Думаю, мне нужно что-то вроде следующего:

RewriteCond %{SSL_PROTOCOL} SSLv3
RewriteRule (.*) http://%{SERVER_NAME}/mysite/unsupported_browser.html

К сожалению, %{SSL_PROTOCOL} всегда кажется пустым. Я использую Apache 2.2.15 в Centos 6 32 бит. SSL нормально работает для веб-сайта (т.е. https://mysite/mysite/unsupported_browser.html работает отлично).

кажется, есть куча переменных, которые должны быть доступны, но для меня они пусты (http://httpd.apache.org/docs/2.2/mod/mod_ssl.html).

У кого-нибудь есть идеи, что я могу сделать?

Решения для этого:

RewriteCond %{SSL:SSL_PROTOCOL} ^SSLv3$
RewriteRule (.*) http://%{SERVER_NAME}/unsupported_browser.html [L,R=302]

Это работает для меня :)

Согласно IBM [1], вы должны иметь возможность запрашивать переменную среды ENV: SSL_PROTOCOL_VERSION, которую следует экспортировать с помощью mod_ssl.

Тем не менее, может быть лучше [2] поддерживать только TLSv1 и более поздние версии и иметь настраиваемую страницу ошибок, чтобы сообщить, что им необходимо переключиться на браузер, поддерживающий TLS1 или более поздние версии.

[1]: "http://publib.boulder.ibm.com/httpserv/ihsdiag/ssl_questions.html#REWRITESSL"

[2]: Лучше, например, когда вам не нужно принимать решения о перезаписи, требующие больших вычислительных затрат, когда переход на страницу статической ошибки обходится вашему серверу дешевле.