Re: Иногда в логах проскакивает SSL write() failed

2019-08-30 Пенетрантность spanjokus
У меня такое то же иногда проскакивает, был бы признателен, если бы кто-то
подсказал из-за чего это

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,285121,285460#msg-285460

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

rewrite

2019-08-30 Пенетрантность classic85
Всем привет
Прошу помочь перенести редирект с IIS на NGINX


  
  


  
  


Помогите плиз. как он должен выглядеть?

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,285459,285459#msg-285459

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Количество одновременно ипользуемых proxy pass в в нескольких location

2019-08-30 Пенетрантность Maxim Dounin
Hello!

On Wed, Aug 21, 2019 at 01:57:10AM -0400, glareboa wrote:

> Приветствую.
> 
> Использую такую конструкцию.
> 
> http {
> ...
> server {
>   listen 80 default_server;
> ...
> location /qwe/
> {
>proxy_pass "http://192.168.1.2:9000";;
> }
> 
> location /qwe/
> {
>proxy_pass "http://192.168.1.2:9001";;
> }
> 
> location /rty/
> {
>proxy_pass "http://192.168.1.2:9002";;
> }
> 
> ...
> 
> location /uio/
> {
>proxy_pass "http://192.168.1.2:9012";;
> }
> 
> 
> }
> }
> Но в браузере отображаются только для 6 или меньше
> источников(http://192.168.1.2:90хх).
> Если вставить адреса http://192.168.1.2:9012 непосредственно в html-файл,
> отображаются все источники.
> 
> Получается, что есть ограничение в nginx?

Нет, в nginx ограничений нет.  А вот в браузерах - есть 
ограничение на максимум 6 соединений к одному доменному имени в 
рамках HTTP/1.x, так что если речь идёт про какие-то потоки 
данных - то скорее всего вы просто упёрлись в ограничение 
бразуера.  Обычно это обходят, используя на html-странице 
несколько доменных имён, указывающих на один и тот же сервер.

-- 
Maxim Dounin
http://mdounin.ru/
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Как записать ключи pre-master от tls-соединений, обрабатываемых nginx?

2019-08-30 Пенетрантность Maxim Dounin
Hello!

On Tue, Aug 27, 2019 at 11:50:18PM +0300, Pavel wrote:

> Мы  состоим  в  реестре  организаторов  распространения  информации  и
> поэтому обязаны предоставлять в надзорный орган ключи tls сессий.
> 
> Для  таких случаев существует механизм по перехвату вызовов библиотеки
> openssl: https://git.lekensteyn.nl/peter/wireshark-notes/tree/src/
> Суть  простая - перед запуском демона, обрабатывающего TLS-соединения
> клиентов,   через   LD_PRELOAD   подгружается  эта  библиотека  и  она
> сбрасывает в текстовый файл, указанный в переменой SSLKEYLOGFILE, ключи 
> pre-master.
> 
> Эта  схема  срабатывает с апачем, но с энжинксом ключи не пишутся. Нет
> ли  идей  или подсказок из-за чего это может быть и как вообще  можно записать
> эти самые pre-master keys в энжинксе?

[...]

> [Service]
> Environment=SSLKEYLOGFILE=/tmp/premaster.txt
> Environment=LD_PRELOAD=/usr/local/lib/libsslkeylog.so

[...]

> но  тем  не  менее  ключи  в файл при обращении к энжинксу по https не
> пишутся.

Скорее всего причина в том, что переменные 
окружения очищаются при запуске, подробнее тут:

http://nginx.org/r/env

-- 
Maxim Dounin
http://mdounin.ru/
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx полностью загружает весь процессор при reload'e

2019-08-30 Пенетрантность Maxim Dounin
Hello!

On Wed, Aug 28, 2019 at 09:18:44PM +0500, Dmitry Sergeev wrote:

> Вообще мне это конечно помогло, но  не полностью. На версии 1.0.2g во 
> время reload'а проц грузит полностью  около 5-10 секунд (вместо 40-300 
> секунд на 1.0.1u), теперь просто оно особо проблем не вызывает у 
> клиентов. Но в целом проблема осталась, просто теперь она не так сильно 
> беспокоит.
> 
> Сейчас задача замедлилась, но в итоге буду поднимать тестовый стенд с 
> нагрузкой, и смотреть можно ли как-то повлиять на это.
> Если конечно тут не подскажут, что еще можно подкрутить.

Судя по perf top, проблема в том, что клиенты после reload'а 
переустанавливают соединения, и это выливается в полный SSL 
handshake - что и приводит к потреблению CPU.

Посмотреть стоит на:

- ssl_session_cache - в конфиге его, судя по всему, нет (или 
  соответствующие части конфига не показаны);

- сертификаты, в частности - их битность (just in case, RSA более 
  2048 использовать не надо, это тупо очень дорого с точки зрения 
  процессора) и тип (лучше использовать ECDSA, но тут уже может 
  встать вопрос совместимости; при желании можно использовать и RSA 
  и ECDSA одновременно);

- используемые шифры, особенно - шифры с классическим DH для 
  обмена ключами (по умолчанию эти шифры не используются начиная с 
  nginx 1.11.0, но некоторые любят указывать ssl_dhparam в конфиге, 
  да ещё и с параметрами большой битности; не надо так);

> Насчет старых клиентов, точно не могу сказать, но есть такой кейс 
> http://mailman.nginx.org/pipermail/nginx-ru/2019-April/062014.html. Я 
> хорошо не изучал этот вопрос, но факт остается, на старой версии openssl 
> ошибок у клиентов в 3-4 раза было меньше. В итоге решили что это клиенты 
> с очень старым ssl.

Как уже говорилось в треде по ссылке, использование OpenSSL 
1.0.1u автоматически означет, что HTTP/2 с большинством клиентов 
работать не будет.  С учётом "listen ... http2" в конфиге - 
обновление до 1.0.2 могло "помочь" просто за счёт того, что HTTP/2 
заработал, и количество устанавливаемых соединений соответственно 
уменьшилось.

-- 
Maxim Dounin
http://mdounin.ru/
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru