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