|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Вот прочитал комментарий, типамимопроходилтреднечиталэто всё потому, что у апаче убогие конфиги и документация, поэтому и нжинкс набирает обороты: документация людская, конфиги людскиепро апача ничего не скажу, а вот с nginx-ом возникают многие недопонимания (ну таки пришлось и его подкручивать)
В принципе, вот конфиги -- если кто покритикует, буду признателенnginx.conf Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
Код: plaintext 1. 2.
Код: plaintext 1. 2. 3.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2017, 10:36 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
nginx хорошая вещь, но выставлять томкат через апач и mod_jk как-то сподручнее и обкатаннее. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2017, 15:12 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Ну это вы, ребята, разбираетесь Для меня была команда -- балансировщик нагрузки (планируется несколько UPSTREAM серверов) + возможная (именно возможная, потому как все понимают, что без "пылесоса" от провайдера -- это пшик) от DDoS ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2017, 15:20 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Вячеслав ЛюбомудровДля меня была команда -- балансировщик нагрузки (планируется несколько UPSTREAM серверов)в качестве балансировщина именно можно и haproxy рассмотреть ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2017, 17:11 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
У nginx есть отличный список рассылки, на русском, в котором отвечают гораздо более понимающие люди http://mailman.nginx.org/mailman/listinfo/nginx-ru ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2017, 17:57 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Вячеслав ЛюбомудровВот прочитал комментарий, типамимопроходилтреднечиталэто всё потому, что у апаче убогие конфиги и документация, поэтому и нжинкс набирает обороты: документация людская, конфиги людскиепро апача ничего не скажу, а вот с nginx-ом возникают многие недопонимания "нормальные" sticky sessions (или session persistence) есть только в nginx plus, который за бабки, а в том же httpd оно из коробки, так что выбор бесплатного nginx в качестве reverse proxy довольно сомнителен. Scott Tigernginx хорошая вещь, но выставлять томкат через апач и mod_jk как-то сподручнее и обкатаннее. вроде как mod_proxy_ajp попроще будет, а возможности те же самые, да и вообще ajp вебсокеты не поддерживает, что огорчает. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2017, 18:11 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Андрей Панфилов"нормальные" sticky sessions (или session persistence) есть только в nginx plus, который за бабки, а в том же httpd оно из коробки, так что выбор бесплатного nginx в качестве reverse proxy довольно сомнителен.ip_hash для обеспечения sticky sessions в преобладающем числе случеав вполне достаточно , и платная версия не требуется для этого ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2017, 18:15 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
bga83ip_hash для обеспечения sticky sessions в преобладающем числе случеав вполне достаточно , и платная версия не требуется для этогоособенно в восторге от этой достаточности удаленные сотрудники, ходящие через vpn ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2017, 18:20 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Андрей Панфиловbga83ip_hash для обеспечения sticky sessions в преобладающем числе случеав вполне достаточно , и платная версия не требуется для этогоособенно в восторге от этой достаточности удаленные сотрудники, ходящие через vpnа в чем проблема с доступом через VPN? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2017, 19:16 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Вячеслав ЛюбомудровPPPS. И самое обидное, что это проявляется только под нагрузкой Возможно проблема чуть ниже уровня http Приведите вывод Код: coco 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2017, 09:27 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Весь? Или только измененные параметры? И с какой машинки, с nginx-ом или с Tomcat-ом? Вот недефолтовые на nginx-е Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2017, 10:15 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Андрей Панфилов"нормальные" sticky sessions (или session persistence) есть только в nginx plus, который за бабки, а в том же httpd оно из коробки, так что выбор бесплатного nginx в качестве reverse proxy довольно сомнителен.Пока UPSTREAM-сервер только один, так что это неактуально Да и как уже сказали, ip_hash вполне нормальный вариант Андрей ПанфиловScott Tigernginx хорошая вещь, но выставлять томкат через апач и mod_jk как-то сподручнее и обкатаннее. вроде как mod_proxy_ajp попроще будет, а возможности те же самые, да и вообще ajp вебсокеты не поддерживает, что огорчает.Странно, что в большинстве своем в интернетах упоминается, что именно апач прячется за nginx И еще немаловажная вещь -- для чистого TCP траффика необходимо определять IP-адрес клиента за reverse proxy. Тут заголовками, как в HTTP, не отделаешься Nginx умеет биндить сокеты от имени клиентских адресов на своей машинке и с них уже связываться с UPSTREAM. Т.е. для Tomcat в этом случае nginx полностью прозрачен (TRANSPARENT reverse proxy). Умеет ли такое Apache "из коробки" -- не знаю Ну и в планах конторский Web-сервер на Apache надо будет спрятать все за тот же nginx ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2017, 10:29 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Понимаю в этом делеУ nginx есть отличный список рассылки, на русском, в котором отвечают гораздо более понимающие люди http://mailman.nginx.org/mailman/listinfo/nginx-ru Да, спасибо Надо будет попробовать пообщаться ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2017, 10:31 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Вячеслав ЛюбомудровСтранно, что в большинстве своем в интернетах упоминается, что именно апач прячется за nginx ... Ну и в планах конторский Web-сервер на Apache надо будет спрятать все за тот же nginxИ как всё это мешает разместить котяру за индейцем прямщас??? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2017, 11:02 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
bga83а в чем проблема с доступом через VPN?В том что это самый тривиальный случай, когда у клиента за время сессии меняется ip-адрес, а есть еще пользаки, сидящие одновременно и по wifi и по проводу, а еще бывают случаи когда нужно переконфигурировать количество бэкендов - и во всех этих случаях использование ip_hash приводит к тому, что пользаков перекидывает на другой бэкенд, да, можно заморочиться с репликацией сессий или общим сторажем, но зачем? только ради того чтобы использовать nginx? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2017, 11:11 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Basil A. SidorovВячеслав ЛюбомудровСтранно, что в большинстве своем в интернетах упоминается, что именно апач прячется за nginx ... Ну и в планах конторский Web-сервер на Apache надо будет спрятать все за тот же nginxИ как всё это мешает разместить котяру за индейцем прямщас???Не очень понятно, зачем Ну и опять же вопрос с определением адреса клиента в чистом TCP траффике ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2017, 11:22 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Андрей Панфиловbga83а в чем проблема с доступом через VPN?В том что это самый тривиальный случай, когда у клиента за время сессии меняется ip-адрес, а есть еще пользаки, сидящие одновременно и по wifi и по проводу, а еще бывают случаи когда нужно переконфигурировать количество бэкендов - и во всех этих случаях использование ip_hash приводит к тому, что пользаков перекидывает на другой бэкенд, да, можно заморочиться с репликацией сессий или общим сторажем, но зачем? только ради того чтобы использовать nginx?Странный какой-то VPN, меняющий адрес клиенту в течении сессии и таки надеюсь, это не каждую минуту происходит? Ну и переконфигурация бэкендов тоже вещи не частая, тем более указав выбывшему DOWN (а не просто удалив его из конфигурации) вроде как перераспределятся сессии только данного узла, а на всех остальных останутся на месте ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2017, 11:25 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Вячеслав ЛюбомудровСтранный какой-то VPN, меняющий адрес клиенту в течении сессии и таки надеюсь, это не каждую минуту происходит?Сессия - она http, а vpn у пользователя - пользователь постоянно держат подключение не обязан: отключился, подключился обратно - адрес уже другой. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2017, 11:37 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
А, ну так пожалуйста, переподключился -- переавторизовался в приложении Tomcat-а Там работа с деньгами, поэтому авторизация все равно необходима И вообще, вопрос не столько в том, стоит или не стоит юзать nginx (хотя, конечно, мнения послушать интересно). Тут больше вопрос, сталкивался ли кто-нибудь с озвученными проблемами. А то мож это я накосячил с настройками ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2017, 11:47 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Вячеслав ЛюбомудровНу и опять же вопрос с определением адреса клиента в чистом TCP траффикеКаким боком в API сервлет-контейнера появляется "адрес клиента в чистом TCP траффике"? Результат вызова getRemoteAddr не зависит от использования кошерного реверс-прокси. P.S. С моей кочки зрения нет ничего проще, чем использование связки mod_proxy , mod_proxy_ajp и mod_proxy_balancer . Можно и mod_jk - он один за троих справляется. Уж всяко проще, чем объяснять nginx-у, какие заголовки ему надо дописать, чтобы всё работало. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2017, 12:20 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Basil A. SidorovКаким боком в API сервлет-контейнера появляется "адрес клиента в чистом TCP траффике"? Результат вызова getRemoteAddr в линуксах есть возможность создавать сокеты с опцией IP_TRANSPARENT: ip(7) Setting this boolean option enables transparent proxying on this socket. This socket option allows the calling application to bind to a nonlocal IP address and operate both as a client and a server with the foreign address as the local endpoint. NOTE: this requires that routing be set up in a way that packets going to the foreign address are routed through the TProxy box (i.e., the system hosting the application that employs the IP_TRANSPARENT socket option). Enabling this socket option requires superuser privileges (the CAP_NET_ADMIN capability). ,используя divert-сокеты можно пакеты из iptables поднимать в userspace, ну а если на бэкендах как default gw указать reverse-proxy, то можно ответы эт бэкенда разбирать и отправлять обратно клиенту. Собственно сама конфигурация выглядит довольно замороченной (reverse-proxy от рута работает, шлет в сеть "кривые" пакеты, да еще и на бэкендах роутинг кривой), так что: Basil A. SidorovС моей кочки зрения нет ничего проще, чем использование связки mod_proxy, mod_proxy_ajp и mod_proxy_balancer. Можно и mod_jk - он один за троих справляется. Уж всяко проще, чем объяснять nginx-у, какие заголовки ему надо дописать, чтобы всё работало выглядит более чем разумно (в документации точно также рекомендуют оставаться на уровне http если это возможно, а если не повезло, то отлаживаться при помощи tcpdump ) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2017, 13:02 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Андрей ПанфиловСобственно сама конфигурация выглядит довольно замороченной (reverse-proxy от рута работает, шлет в сеть "кривые" пакеты, да еще и на бэкендах роутинг кривой), так что: Basil A. SidorovС моей кочки зрения нет ничего проще, чем использование связки mod_proxy, mod_proxy_ajp и mod_proxy_balancer. Можно и mod_jk - он один за троих справляется. Уж всяко проще, чем объяснять nginx-у, какие заголовки ему надо дописать, чтобы всё работало выглядит более чем разумно (в документации точно также рекомендуют оставаться на уровне http если это возможно, а если не повезло, то отлаживаться при помощи tcpdump )Еще раз -- в чистом TCP траффике нет никаких заголовков (типа Host:, X-Forwarded-For: и т.п.) это не HTTP Адрес определяется только по адресу IP пакета Поэтому да, биндится сокет на адрес клиента, а на стороне томката настраивается правило, что для всех пакетов пришедших с определенного интерфейса, дефолтовым шлюзом является NGINX через этот же интерфейс С iproute2 все решается просто и элегантно: rule add, route add Со стороны NGINX через iptables пакеты маркируются и обрабатываются именно NGINX-ом ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2017, 14:52 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Вячеслав ЛюбомудровЕще раз -- в чистом TCP траффике нет никаких заголовковА, б-муха, не знал. P.S. Как уже задолбали любители извратов на ровном месте ... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2017, 21:19 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Basil A. Sidorov P.S. С моей кочки зрения нет ничего проще, чем использование связки Уж всяко проще, чем объяснять nginx-у, какие заголовки ему надо дописать, чтобы всё работало. Так попробуйте включать в nginx debug log. Или даже директиву debug_connection, если действие происходит на живых нагруженных серверах. Обычно снимаются все вопросы и не нужно писать ни в какие списки рассылки. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2017, 03:41 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Basil A. SidorovВячеслав ЛюбомудровЕще раз -- в чистом TCP траффике нет никаких заголовковА, б-муха, не знал. P.S. Как уже задолбали любители извратов на ровном месте ...Можешь предложить вариант без извратов? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2017, 04:09 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Вячеслав ЛюбомудровЕще раз -- в чистом TCP траффике нет никаких заголовков (типа Host:, X-Forwarded-For: и т.п.) это не HTTP А в каком месте у вас не HTTP трафик-то? Вячеслав Любомудров... listen 80; ... listen 443 ssl; ... PS. Для Tomcat <Valve className="org.apache.catalina.valves.RemoteIpValve" настроен ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2017, 21:14 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Конфигурация ниже, для стримов Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Ну и "чтоб два раза не вставать" так же сделано по остальным приложениям (для HTTPS). Тут еще небольшой ньюанс -- производитель приложения явным образом не поддерживает правки server.xml (в частности, добавления org.apache.catalina.valves.RemoteIpValve) и восстанавливает его из своих ранее сгенеренных шаблонов перед каждым запуском. Можно прописать его в этих шаблонах, но при любой модификации через управлялку или апгрейда приложения они перегенерятся и придется прописывать по-полной. Ничего сложного, но можно и забыть. С TRANSPARENT-proxy такой проблемы вовсе нет И как я уже говорил, озвученные проблемы стреляют что через обычный, что через TRANSPARENT прокси. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2017, 03:22 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Вячеслав Любомудров, тогда все равно смысл использования nginx в борьбе за ip-адрес клиента не ясен: от клиента http-трафик и не http-трафик может идти по разным путям, поэтому ожидание что на входе у вас будут одинаковые source ip несколько неправильное сам nginx в случае не-HTTP трафика у вас никакой полезной функции не выполняет (ну вот в случае HTTP можно получить профиты в виде кеширования, офлоада SSL и пр., а у вас он даже не балансирует) - можно же просто обычным NAT обойтись если так уж нужен source ip ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2017, 06:00 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Андрей ПанфиловВячеслав Любомудров, тогда все равно смысл использования nginx в борьбе за ip-адрес клиента не ясен: от клиента http-трафик и не http-трафик может идти по разным путям, поэтому ожидание что на входе у вас будут одинаковые source ip несколько неправильное Не очень понятно про мои ожидания и смесь HTTP и не HTTP траффика Андрей Панфиловсам nginx в случае не-HTTP трафика у вас никакой полезной функции не выполняет (ну вот в случае HTTP можно получить профиты в виде кеширования, офлоада SSL и пр., а у вас он даже не балансирует) - можно же просто обычным NAT обойтись если так уж нужен source ip Именно для балансировки (пока в UPSTREAM указан один сервер, но это не значит, что он всегда будет один) Андрей, вот честно, Вы используете/использовали nginx? Теорию я ведь и сам неплохо знаю ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2017, 08:28 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Вячеслав ЛюбомудровАндрей, вот честно, Вы используете/использовали nginx? Теорию я ведь и сам неплохо знаюИспользовали, ровно до тех пор как они начали его монетизировать, сейчас, если смотреть на бесплатные альтернативы, то последние выглядят гораздо лучше на фоне бесплатного nginx: у httpd куда больше удобств при работе с http-трафиком, а тот же HAProxy из коробки умеет то же самое, да еще и нормальную статистику для мониторинга предоставляет, а не куцую страницу с семью цифрами. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2017, 09:25 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Спасибо, будем посмотреть ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2017, 10:14 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
ну и если посмотреть, то в 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 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2017, 12:17 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Возможно Смотрю пока по HAProxy, примерно то же самое, со своими минусами (нет кэширования и буферизации) и плюсами (возможность кластеризации). Собственно, он рассматривался в дальнейшем как балансировщик двух nginx-ов Но, оказывается он умеет и как transparent reverse proxy, так что наверное, есть смысл с ним попробовать (хрен с ним, с кэшированием, но буферизации, в терминах nginx, жалко) Тем более что да, статистика там не в пример богаче По поводу RP_FILTER -- там один интерфейс, какой reverse path Вот про net.ipv4.ip_nonlocal_bind мне непонятно, root и так может биндить нелокальные адреса, а HAProxy, насколько понимаю, работает только от рута. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2017, 12:35 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Вячеслав ЛюбомудровПо поводу RP_FILTER -- там один интерфейс, какой reverse pathвообще два (петлю никто не отменял) и вместо выключения rp_filter можно включить логирование марсианских пакетов (log_martians) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2017, 13:05 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Спасибо Посмотрел по статистикам netstat -s / nstat -asz, ReversePathFilter по нулям, отрубать пока не стал (я в отпуске и что-то ломать сейчас нежелательно) Логирование "марсиан" включил, но скорее всего это тоже пустой номер PS. Вот только к озвученным в первом посте вопросам это не имеет отношения ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2017, 15:16 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Вячеслав ЛюбомудровКонфигурация ниже, для стримов9094 кто слушает? Тоже котяра или отдельная прикладуха? P.S. Отвыкайте править server.xml - читайте документацию на вашу версию . ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2017, 17:42 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Basil A. SidorovВячеслав ЛюбомудровКонфигурация ниже, для стримов9094 кто слушает? Тоже котяра или отдельная прикладуха?Tomcat Приложение закрытое Basil A. SidorovP.S. Отвыкайте править server.xml - читайте документацию на вашу версию .Это относилось только к org.apache.catalina.valves.RemoteIpValve , т.е. к HTTP(S). Это рекомендация поставщика приложения В случае TRANSPARENT reverse proxy (а его все-равно приходится использовать) это не нужно вовсе. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2017, 03:55 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Я умываю руки ... Разработчик, что - открывает сокеты прямо в собственном приложении или, всё-таки, использует сконфигурированные коннекторы? За каким вообще лешим, вам приспичило делать странное, полностью игнорируя документированную штатную возможность? Если вы не можете (уж не знаю почему) использовать AJP-коннекторы - возьмите индейца, mod_proxy, mod_proxy_balancer, mod_proxy_http. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2017, 16:07 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
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-ом Нет, так нет ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2017, 16:59 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Вячеслав ЛюбомудровДык использование 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 используется по каким-то конкретным причинам. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2017, 18:32 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Андрей Панфилов, апач очень тяжелый.... один коннект один процесс - это очень дорого, есть правда мльтитрединговый апач - но не взлетел nginx ставят перед томкатом по разным причинам, даже если есть доп балансировшик какой то - все равно ставят nginx, отрезает ВСЮ статику у джавы сдн тоже не вариант - надо отдельно отслеживать корректность выдачи, что нигде не отвалилось на практике приводит к тому что отдельным скриптом отслеживают корректность загрузки статики у клиента и переключение на локальную выдачу при наличии ошибок сдн скорее помогает трафик сильно экономить.... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 12:19 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Вячеслав Любомудров И именно NGINX ставится впререди апача, а не наоборот. И по статистике (врут, конечно) число таких конфигураций весьма велико И не врут. Это стандартный современный хостинговый шаблон, из суровой Cибири (родины ispmanager). Потом во все панели перекочевало. По дизайну панелей можно судить о массовом вебмастере и веб-студиях. К тому же, хронологически nginx начал распространение тогда, когда php просто глючил в thread safe режиме и его в принципе нельзя было эксплуатировать. (apache то может и работал изначально) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 12:35 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
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. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 15:57 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Во-во, я worker еще с 2.0 пользовал и проблем не знал. PHP не держу ни в каком виде и никому не советую. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 16:46 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Андрей ПанфиловСейчас же и памяти в сервер можно натыкать сколько угодно, ага, только и пользователей интернета стало пропорционально больше. И у каждого вкладки. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 17:05 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
netwind, а вкладки-то на что влияют вообще? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 17:06 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Андрей Панфилов, изменились рефлексы браузинга - люди не боятся запутаться и просто открывают сразу по 5 вкладок и потом читают. Ну это конечно опытные пользователи. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 17:31 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
netwind, а раньше они окна боялись запускать? я вот как помню, по рефлексу везде с зажатым шифтом тыкался ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 17:36 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Андрей Панфилов, я не утверждал, что это принципиальный момент. Это в дополнение. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 17:43 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
bga83а в чем проблема с доступом через VPN? ip_hash работает по первым трем октетам адреса так что если пользователи внутри локалки и из одной подсети класса С..... они получают на выходе не сессионность а роундробин ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 17:59 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
netwind, ну тут надо смотреть что в какую сторону перевешивает: с вашей стороны количество пользователей, с моей - память, потоки, CDN, mpm event, можно еще всякие REST приплести. Если смотреть с организационной стороны, то и httpd и HAProxy уже есть в дистрибутиве, а значит обновления безопасности мне будут сами по себе прилетать, а для nginx придется попотеть, да и установка nginx - это еще +1 сервис, за которым следить нужно, так что память воткнуть дешевле, благо не 2000 год на дворе. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 18:09 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Спасибо всем участвующим Так что, теперь использование NGINX перед Tomcat уже не является извращением? Или таки смотреть в сторону HAProxy? Хотя, как я уже говорил, в планах (возможно, до этого не дойдет) использовать HAProxy как балансировщик между NGINX-ами. Или, зачем городить огород и обойтись только HAProxy? Сейчас, вторую неделю, полет нормальный (хоть я и в отпуске, но иногда мониторю). Ни "марсиан", ни ReversePathFilter в статистике не замечено. Но, повторюсь: -- проблема номер раз, для новых (современных) хромов и что на его движке (Opera, например) расшифрованный HTTPS-траффик на HTTP-точку доступа определенного приложения не воспринимает (я могу привести ошибки, но они не о чем не говорят, просто после серии ответов 401, 200, 200 эти приложения получают 403, а не 200. 401 в начале, насколько я понял, это штатная фишка, что клиент еще не авторизовался). Возможно, я неправильно настроил коннектор в Tomcat (secure=true указано). С IE, FireFox, Safary таких проблем нет. Как (временное) решение -- для конкретно этого приложения (их несколько на одном коннекторе Tomcat-а) траффик отправляется как HTTPS (вот уж не знаю, перешифровывается он или нет) на другой (HTTPS) коннектор. Это двойная работа, на мой взгляд, и хотелось бы ее избежать. -- При настройке KEEPALIVE-соединений на бэкэнде совершенно случайным образом при большом количестве одновременных соединений передаются какие-то левые (предварительно соединявшиеся) адреса клиентов. Отключение KEEPALIVE в UPSTREAM помогло и похоже на баг. -- про 3 вопрос, ну я думал, что NGINX достаточно популярен и найдутся люди которые просто ткут носом, гдя я что-то путаю Повторюсь -- нет, так нет ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 18:32 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Андрей Панфиловто и httpd и HAProxy уже есть в дистрибутиве, а значит обновления безопасности мне будут сами по себе прилетать, а для nginx придется попотеть, Вы еще один одепт redhat? Ну фу же. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 18:53 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
Adekamerтак что если пользователи внутри локалки и из одной подсети класса С..... они получают на выходе не сессионность а роундробинс чего это вдруг раунд-робин? хэш по тем первым октетам будет всегда одним и тем же(при условии сохранения доступности всех бекэндов) и прокидывать пользователя будет на один и тот же сервер ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2017, 19:17 |
|
Поговорим про nginx?
|
|||
---|---|---|---|
#18+
bga83, да, перепутал в обшем балансировки не будет можно форк tengine поставить..... там сессионность на куках есть а вообще для нормальных проектов есть нормальные коммерческие решения - типа big ip-f5 ltm мне в свое время удалось с ним поработать достаточно плотно - офигительная весчь! это keepalived + nginx+ и еше куча плюшек! и все равно на бекендах джинкс отрезать статику чтоб ява только логикой занималась и никакой статики не отдавала ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2017, 09:18 |
|
|
start [/forum/topic.php?all=1&fid=25&tid=1481537]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
75ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 166ms |
0 / 0 |