Nginx + Android + ssl = 400

Илья Шипицин chipitsine at gmail.com
Mon Mar 2 19:58:31 UTC 2015


нельзя настроить "только один сайт требует аутентификацию по сертификату"
этот параметр согласуется в SSL Server Hello. т.е. вы требуете
аутентификацию для всех сайтов.
можете поиграть с обработчиком ошибки 495 (клиент не предоставил
сертификата), в сеть пойдет 400 (в error-логе будет 495), вероятно это
ваш случай.

насчет pre-flight запросов, в протоколе mapi есть механизм
автоопределения, не исключено, что этот запрос пытается выполнить
андроид.

чудесов не бывает, смотрите логи. там все есть про вашу 400-ю ошибку

2 марта 2015 г., 21:23 пользователь ingtar <nginx-forum at nginx.us> написал:
> Доброго дня, Максим!
>
> Maxim Dounin Wrote:
> -------------------------------------------------------
>
> Такую штуку я специально не включал, только по незнанию если :) Но поддержка
> SNI есть, nginx -V ее показывает.
>
>> Ибо вы, судя по всему, пытаетесь использовать SNI.
>> Делая это, надо понимать, что:
>>
>> 1) SNI работает далеко не везде, даже не во всех браузерах.  Не
>> говоря уже о каких-либо специфических http-клиентах.
>>
>> 2) Если SNI не работает, то будет использован сертификат из
>> сервера по умолчанию.  Каковым является первый в конфиге блок
>> server{}, использующий данный listen-сокет (либо может быть задан
>> явно с помощью параметра default_server директивы listen).
>>
>  На сервере установлен один wildcard-сертификат, который используется для
> всех доменных имен. В том числе в конфиге для Exchange. Вторых сертификатов
> для ssl нет. Соотвесттвенно доменные адреса вида www.example.com,
> static.example.com, zip.example.com и теперь вот exchange.example.com
> Только 1 конфиг использует авторизацию клиентов по сертификатам, все
> остальные это обычные веб-сайты с общим доступом.
>
> За ссылки спасибо :)
> В общем я подозреваю, что клиент Андройда делает один из запросов  при
> установке соединения не по хостнейму, а по ИП адресу (может быть обратную
> зону проверяет, но не получилось это подтвердить) В результате запрос
> цепляется правильным конфигом, но вот на тот самый "обратный" запрос нам
> отвечает другой конфиг (первый в списке)
>
> Самое, что заставляет мой глаз дергаться - на IOS все работает как часы при
> любой конфигурации.
>
>> Подробнее про SNI можно почитать, например, тут:
>>
>> http://nginx.org/ru/docs/http/configuring_https_servers.html#name_base
>> d_https_servers
>>
>> А про сервера по умолчанию - тут:
>>
>> http://nginx.org/ru/docs/http/request_processing.html
>>
>> --
>> Maxim Dounin
>> http://nginx.org/
>>
>> _______________________________________________
>> nginx-ru mailing list
>> nginx-ru at nginx.org
>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
> Posted at Nginx Forum: http://forum.nginx.org/read.php?21,256951,256998#msg-256998
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru


Подробная информация о списке рассылки nginx-ru