suffix

suffix
Рейтинг
345
Регистрация
26.08.2010

Хотел бы заметить обеим сторонам склоки - что ни в одном таком сраче не принимают участие представители нормальных хостеров.

suffix:

proxy_send_timeout 300;
proxy_read_timeout 300;

На всякий случай увеличил:


proxy_read_timeout 1200s;
proxy_connect_timeout 600s;
client_body_timeout 600s;
send_timeout 600s;

Понятия не имею :))

Но да, brotli и gzip в nginx включены конечно.

Вот что мне на форуме nginx ответили:

"В лог-формате "combined" после статус-кода (200) идёт body_bytes_sent.

Видно, что апач отдал nginx-у 45443 байта, а ngnix клиенту 12664, так что

обоснованное подозрение на то, что nginx недополучил данные.

В HTTP/1.1 есть механизм контроля целостности данных, и nginx может видеть,

что ему прислали ответ короче, чем должно быть по его заголовку.

Я бы прежде всего подумал, нет ли между апачем и nginx-ом statefull

файрвола, который из-за какой-то ошибки в своей логике иногда обрывает

коннекции, например, содержащие этот "amp"."

Теперь бы понять что такое statefull файервол и где его искать ? :)


proxy_send_timeout 300; proxy_read_timeout 300;

Я читал про это - но эти лимиты надо увеличивать когда код ответа 502, а в моем случае код 200 !

suffix:
Сможете разобраться и сделать ?

Автор и разобрался и замечательно сделал - хрюши довольны :)

foxi:
а там кроме того чтоб скопипастить конфиг реврайтов из интернетов еще что-то надо? 🤣

1. Ну это Вы зря - некоторые правила httaccess того же Битрикс (если по уму были сделаны) ни одна инструкция (полно именно про Битрикс - но не рабочих) не переводит.

2. Главный вопрос - если нормальное железо то nginx+apache не медленно чем просто nginx.

Vin_cent:
Ты сейчас про nginx пишешь. А вопрос задавал про keep-alive в апачи. Так что с апачи? Включать там или нет?

Не знаю - включил но не заметил ни плюсов ни минусов :) (Но работает только если в nginx как выше написал настроить)

Mobiaaa:
Я думаю всё гораздо проще, proxy_pass не использует keep-alive в Вашем случае

Синтаксис: proxy_socket_keepalive on | off;
Умолчание:
proxy_socket_keepalive off;
Контекст: http, server, location
Эта директива появилась в версии 1.15.6.

Конфигурирует поведение “TCP keepalive” для исходящих соединений к проксируемому серверу. По умолчанию для сокета действуют настройки операционной системы. Если указано значение “on”, то для сокета включается параметр SO_KEEPALIVE.

Пришлось на форуме nginx вопрос задать:

"Эта опция - чтобы выставить SO_KEEPALIVE на сокете соединения с

бэкендом, аналогично параметру "so_keepalive" для listen-сокетов.

Это нужно, чтобы даже по неактивному соединению периодически ходили

пакеты, и соответственно а) если та сторона не отвечает - то nginx об

этом узнал по возможности раньше, и б) если между nginx'ом и

бэкендом стоит statefull firewall, то он видел, что соединение -

активно, и соответствующий ему state не надо выкидывать.

Если вы хотите просто хотите использовать постоянные соединения с

бэкендами - вам эта опция не нужна, а нужно настроить keepalive в

соответствии с инструкциями тут:

http://nginx.org/r/keepalive "

Так что настроил как там указано:

upstream http_backend {

server 127.0.0.1:8080;

keepalive 100;

}

location / {

proxy_pass http://http_backend;

proxy_redirect http://http_backend /;

proxy_http_version 1.1;

proxy_set_header Connection "";

}

И всё заработало.

А proxy_socket_keepalive on; в моём случае вредна даже была бы.

Всего: 3556