powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Поговорим про nginx?
25 сообщений из 55, страница 2 из 3
Поговорим про nginx?
    #39465586
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав ЛюбомудровЕще раз -- в чистом TCP траффике нет никаких заголовков (типа Host:, X-Forwarded-For: и т.п.) это не HTTP


А в каком месте у вас не HTTP трафик-то?

Вячеслав Любомудров...
listen 80;
...
listen 443 ssl;
...
PS. Для Tomcat <Valve className="org.apache.catalina.valves.RemoteIpValve" настроен
...
Рейтинг: 0 / 0
Поговорим про nginx?
    #39465644
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конфигурация ниже, для стримов
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
upstream morpheus_xxx      {
    hash $remote_addr consistent;
    server  192.168.213.13:9094;
}

limit_conn_zone $binary_remote_addr zone=limit_conn_stream_9094:10m;

server      {
    listen          9094;
...
    proxy_bind      $remote_addr transparent;

    proxy_pass      morpheus_xxx;
Собственно, именно из-за него возникло требование использовать TRANSPARENT -- обязательно нужно знать IP-адрес клиента. Возможно есть другой вариант, но я его, к сожалению, не знаю

Ну и "чтоб два раза не вставать" так же сделано по остальным приложениям (для HTTPS). Тут еще небольшой ньюанс -- производитель приложения явным образом не поддерживает правки server.xml (в частности, добавления org.apache.catalina.valves.RemoteIpValve) и восстанавливает его из своих ранее сгенеренных шаблонов перед каждым запуском. Можно прописать его в этих шаблонах, но при любой модификации через управлялку или апгрейда приложения они перегенерятся и придется прописывать по-полной. Ничего сложного, но можно и забыть. С TRANSPARENT-proxy такой проблемы вовсе нет

И как я уже говорил, озвученные проблемы стреляют что через обычный, что через TRANSPARENT прокси.
...
Рейтинг: 0 / 0
Поговорим про nginx?
    #39465651
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав Любомудров,

тогда все равно смысл использования nginx в борьбе за ip-адрес клиента не ясен:
от клиента http-трафик и не http-трафик может идти по разным путям, поэтому ожидание что на входе у вас будут одинаковые source ip несколько неправильное

сам nginx в случае не-HTTP трафика у вас никакой полезной функции не выполняет (ну вот в случае HTTP можно получить профиты в виде кеширования, офлоада SSL и пр., а у вас он даже не балансирует) - можно же просто обычным NAT обойтись если так уж нужен source ip
...
Рейтинг: 0 / 0
Поговорим про nginx?
    #39465675
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ПанфиловВячеслав Любомудров,

тогда все равно смысл использования nginx в борьбе за ip-адрес клиента не ясен:
от клиента http-трафик и не http-трафик может идти по разным путям, поэтому ожидание что на входе у вас будут одинаковые source ip несколько неправильное
Не очень понятно про мои ожидания и смесь HTTP и не HTTP траффика
Андрей Панфиловсам nginx в случае не-HTTP трафика у вас никакой полезной функции не выполняет (ну вот в случае HTTP можно получить профиты в виде кеширования, офлоада SSL и пр., а у вас он даже не балансирует) - можно же просто обычным NAT обойтись если так уж нужен source ip
Именно для балансировки (пока в UPSTREAM указан один сервер, но это не значит, что он всегда будет один)

Андрей, вот честно, Вы используете/использовали nginx?
Теорию я ведь и сам неплохо знаю
...
Рейтинг: 0 / 0
Поговорим про nginx?
    #39465706
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав ЛюбомудровАндрей, вот честно, Вы используете/использовали nginx?
Теорию я ведь и сам неплохо знаюИспользовали, ровно до тех пор как они начали его монетизировать, сейчас, если смотреть на бесплатные альтернативы, то последние выглядят гораздо лучше на фоне бесплатного nginx: у httpd куда больше удобств при работе с http-трафиком, а тот же HAProxy из коробки умеет то же самое, да еще и нормальную статистику для мониторинга предоставляет, а не куцую страницу с семью цифрами.
...
Рейтинг: 0 / 0
Поговорим про nginx?
    #39465732
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, будем посмотреть
...
Рейтинг: 0 / 0
Поговорим про nginx?
    #39465807
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и если посмотреть, то в HAProxy ip transparency с 2006 года существует, а в nginx ее добавили только в августе 2016 - возможно оно не набрало еще популярности в nginx чтобы баги править. У вас кстати настройки sysctl отличаются от рекомендуемых nginx в плане включения rp_filter:
nginxMissing Packets

If packets are unexpectedly dropped (tcpdump shows that they are sent by one machine but not received by another), reverse path filtering is a potential silent culprit. To disable reverse path filtering temporarily, run the following command:

# for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f ; done

+ HAProxy еще вот это рекомендует:
haproxynet.ipv4.conf.all.accept_redirects = 1
net.ipv4.conf.all.send_redirects = 1
net.ipv4.conf.eth0.send_redirects = 1
net.ipv4.ip_nonlocal_bind = 1
net.ipv4.conf.default.rp_filter = 2 #0 preferred
net.ipv4.conf.default.accept_source_route = 1
...
Рейтинг: 0 / 0
Поговорим про nginx?
    #39465816
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно
Смотрю пока по HAProxy, примерно то же самое, со своими минусами (нет кэширования и буферизации) и плюсами (возможность кластеризации). Собственно, он рассматривался в дальнейшем как балансировщик двух nginx-ов
Но, оказывается он умеет и как transparent reverse proxy, так что наверное, есть смысл с ним попробовать (хрен с ним, с кэшированием, но буферизации, в терминах nginx, жалко)
Тем более что да, статистика там не в пример богаче

По поводу RP_FILTER -- там один интерфейс, какой reverse path

Вот про net.ipv4.ip_nonlocal_bind мне непонятно, root и так может биндить нелокальные адреса, а HAProxy, насколько понимаю, работает только от рута.
...
Рейтинг: 0 / 0
Поговорим про nginx?
    #39465829
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав ЛюбомудровПо поводу RP_FILTER -- там один интерфейс, какой reverse pathвообще два (петлю никто не отменял) и вместо выключения rp_filter можно включить логирование марсианских пакетов (log_martians)
...
Рейтинг: 0 / 0
Поговорим про nginx?
    #39465936
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо
Посмотрел по статистикам netstat -s / nstat -asz, ReversePathFilter по нулям, отрубать пока не стал (я в отпуске и что-то ломать сейчас нежелательно)
Логирование "марсиан" включил, но скорее всего это тоже пустой номер

PS. Вот только к озвученным в первом посте вопросам это не имеет отношения
...
Рейтинг: 0 / 0
Поговорим про nginx?
    #39466129
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав ЛюбомудровКонфигурация ниже, для стримов9094 кто слушает? Тоже котяра или отдельная прикладуха?

P.S. Отвыкайте править server.xml - читайте документацию на вашу версию .
...
Рейтинг: 0 / 0
Поговорим про nginx?
    #39466311
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovВячеслав ЛюбомудровКонфигурация ниже, для стримов9094 кто слушает? Тоже котяра или отдельная прикладуха?Tomcat
Приложение закрытое
Basil A. SidorovP.S. Отвыкайте править server.xml - читайте документацию на вашу версию .Это относилось только к org.apache.catalina.valves.RemoteIpValve , т.е. к HTTP(S). Это рекомендация поставщика приложения
В случае TRANSPARENT reverse proxy (а его все-равно приходится использовать) это не нужно вовсе.
...
Рейтинг: 0 / 0
Поговорим про nginx?
    #39466974
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я умываю руки ...
Разработчик, что - открывает сокеты прямо в собственном приложении или, всё-таки, использует сконфигурированные коннекторы?
За каким вообще лешим, вам приспичило делать странное, полностью игнорируя документированную штатную возможность?
Если вы не можете (уж не знаю почему) использовать AJP-коннекторы - возьмите индейца, mod_proxy, mod_proxy_balancer, mod_proxy_http.
...
Рейтинг: 0 / 0
Поговорим про nginx?
    #39467060
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovЯ умываю руки ...Чище будут
Basil A. SidorovРазработчик, что - открывает сокеты прямо в собственном приложении или, всё-таки, использует сконфигурированные коннекторы?Естественно, описан коннектор <ля-ля-ля port=9094 protocol=...ibtp..> (не очень хочется светить разработчика). Общается клиентское Java standalone приложение (или сервлет) с сервером, со своим шифрованием и т.д.
Но то, что там не ходят HTTP заголовки -- однозначно
Basil A. SidorovЗа каким вообще лешим, вам приспичило делать странное, полностью игнорируя документированную штатную возможность?Что здесь странного: использование NGINX в принципе или возможность его работы как TRANSPARENT reverse proxy?
Дык использование NGINX широко освещается (и рекомендуется) в "этих ваших интернетах" как пример быстрого и легкого в том числе балансировщика, в отличии от "более ресурсоемкого и неповоротливого" апача? И именно NGINX ставится впререди апача, а не наоборот. И по статистике (врут, конечно) число таких конфигураций весьма велико
TRANSPARENT можно не обсуждать, с этим проблем пока нет
Basil A. SidorovЕсли вы не можете (уж не знаю почему) использовать AJP-коннекторыНаверное, потому, что разработчик решил использовать свой протоколBasil A. Sidorovвозьмите индейца, mod_proxy, mod_proxy_balancer, mod_proxy_http.Скажем так, "сварщик я ненастоящий", поэтому глубоко возможностей апача я не знаю
Но, опять же в терминах "легкий/ресурсоемкий" NGINX выигрывает
Вот подсказали альтернативу -- HAProxy, но вроде как с функциональностью NGINX-а разница небольшая.

Я вообще просто спросил, сталкивался ли кто-нибудь с подобными граблями при работе с NGINX-ом
Нет, так нет
...
Рейтинг: 0 / 0
Поговорим про nginx?
    #39467182
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав ЛюбомудровДык использование NGINX широко освещается (и рекомендуется) в "этих ваших интернетах" как пример быстрого и легкого в том числе балансировщика, в отличии от "более ресурсоемкого и неповоротливого" апача? И именно NGINX ставится впререди апача, а не наоборот. И по статистике (врут, конечно) число таких конфигураций весьма велико
А еще в наших интернетах популярна шутка про ошибку 504 Вот насколько я помню, nginx начал набирать популярность в наших интернетах где-то в году 2005-2006 (до этого Сысоев баловался mod_accel) и причины ставить nginx впереди httpd были следующие: сервера были не настолько быстрые как сейчас и концепция httpd, заключающаяся в монопольном обслуживании клиентских запросов одним процессом (т.е. или 1.3 или mpm prefork в основном использовались, а более легкий mpm worker толи не особо стабильным был, толи не все модули его поддерживали нормально), выглядела довольно уныло, особенно когда использовался keepalive и/или раздавались большие файлы ( X-Accel-Redirect вообще рулил и педалил) - интернеты-то тоже небыстрые были. Сейчас же и памяти в сервер можно натыкать сколько угодно, интернеты быстрые, mpm worker (или лучше mpm event) работает достойно, да и файлы принято при помощи CDN раздавать - сейчас я вот не вижу причин выставлять nginx впереди httpd, если тот же httpd используется по каким-то конкретным причинам.
...
Рейтинг: 0 / 0
Поговорим про nginx?
    #39468493
Фотография Adekamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов,

апач очень тяжелый.... один коннект один процесс - это очень дорого, есть правда мльтитрединговый апач - но не взлетел
nginx ставят перед томкатом по разным причинам, даже если есть доп балансировшик какой то - все равно ставят nginx, отрезает ВСЮ статику у джавы
сдн тоже не вариант - надо отдельно отслеживать корректность выдачи, что нигде не отвалилось
на практике приводит к тому что отдельным скриптом отслеживают корректность загрузки статики у клиента и переключение на локальную выдачу при наличии ошибок
сдн скорее помогает трафик сильно экономить....
...
Рейтинг: 0 / 0
Поговорим про nginx?
    #39468518
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав Любомудров И именно NGINX ставится впререди апача, а не наоборот. И по статистике (врут, конечно) число таких конфигураций весьма велико

И не врут.
Это стандартный современный хостинговый шаблон, из суровой Cибири (родины ispmanager). Потом во все панели перекочевало. По дизайну панелей можно судить о массовом вебмастере и веб-студиях.
К тому же, хронологически nginx начал распространение тогда, когда php просто глючил в thread safe режиме и его в принципе нельзя было эксплуатировать. (apache то может и работал изначально)
...
Рейтинг: 0 / 0
Поговорим про nginx?
    #39468804
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Adekamerесть правда мльтитрединговый апач - но не взлетелДавайте писать правильно, а? не взлетело оно для пыхпы, а все кому нужно вполне работают через event mpm и проблем не знают:
http://php.net/manual/en/faq.installation.php#faq.installation.apache2 Why shouldn't I use Apache2 with a threaded MPM in a production environment?
PHP is glue. It is the glue used to build cool web applications by sticking dozens of 3rd-party libraries together and making it all appear as one coherent entity through an intuitive and easy to learn language interface. The flexibility and power of PHP relies on the stability and robustness of the underlying platform. It needs a working OS, a working web server and working 3rd-party libraries to glue together. When any of these stop working PHP needs ways to identify the problems and fix them quickly. When you make the underlying framework more complex by not having completely separate execution threads, completely separate memory segments and a strong sandbox for each request to play in, further weaknesses are introduced into PHP's system.

If you want to use a threaded MPM, look at a FastCGI configuration where PHP is running in its own memory space.
...
Рейтинг: 0 / 0
Поговорим про nginx?
    #39468878
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во-во, я worker еще с 2.0 пользовал и проблем не знал. PHP не держу ни в каком виде и никому не советую.
...
Рейтинг: 0 / 0
Поговорим про nginx?
    #39468897
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ПанфиловСейчас же и памяти в сервер можно натыкать сколько угодно,
ага, только и пользователей интернета стало пропорционально больше. И у каждого вкладки.
...
Рейтинг: 0 / 0
Поговорим про nginx?
    #39468899
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netwind,

а вкладки-то на что влияют вообще?
...
Рейтинг: 0 / 0
Поговорим про nginx?
    #39468924
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов, изменились рефлексы браузинга - люди не боятся запутаться и просто открывают сразу по 5 вкладок и потом читают. Ну это конечно опытные пользователи.
...
Рейтинг: 0 / 0
Поговорим про nginx?
    #39468930
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netwind,

а раньше они окна боялись запускать? я вот как помню, по рефлексу везде с зажатым шифтом тыкался
...
Рейтинг: 0 / 0
Поговорим про nginx?
    #39468937
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов, я не утверждал, что это принципиальный момент. Это в дополнение.
...
Рейтинг: 0 / 0
Поговорим про nginx?
    #39468946
Фотография Adekamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bga83а в чем проблема с доступом через VPN?
ip_hash работает по первым трем октетам адреса
так что если пользователи внутри локалки и из одной подсети класса С..... они получают на выходе не сессионность а роундробин
...
Рейтинг: 0 / 0
25 сообщений из 55, страница 2 из 3
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Поговорим про nginx?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]