Bug: SSL ssl_protocols order
Alex Eagle
eagle.alex at gmail.com
Mon Oct 19 22:04:47 MSD 2009
Доброго времени суток!
Имеем:
1. nginx c 2-мя настроеными SSL виртуальными хостами, пусть А и В.
2. Для А в server {..} имеем директивы:
ssl_protocols SSLv3 TLSv1;
ssl_ciphers DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:EDH-RSA-DES-CBC3-SHA:AES256-SHA:DES-CBC3-SHA:AES128-SHA:RC4-SHA:RC4-MD5;
Для В там же в server {..} имеем дефолтные, явно прописанные:
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
3. При попытке обратиться к сайту А из:
* IE c отключенным SSLv2 получаем малоговорящую ошибку "Невозможно
установить соединение с сервером"
* Chrome чуть более вразумительно: "Ошибка 107
(net::ERR_SSL_PROTOCOL_ERROR): Неизвестная ошибка."
* FF при этом работает нормально, ни на что не ругается, да и нет
там такой настройки "разрешить SSLv2", видимо разрешено по умолчанию.
4. Разрешение SSLv2 в IE, Chrome - сайт показывает, но это означает
что для сайта А nginx начинает использовать _только_ SSLv2.
5. Если конфигурации грузятся в порядке: А, затем В - все нормально.
Но если В, затем А (как у меня было изначально судя по всему) -
имеем то что имеем.
Ситуация совершенно воспроизводима.
Подозреваю что это все-же баг.
--
Alexander Oryol aka eagleas <eagle.alex at gmail.com>
More information about the nginx-ru
mailing list