|
Поговорим про 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 |
|
|
start [/forum/topic.php?fid=25&msg=39464761&tid=1481537]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
others: | 269ms |
total: | 412ms |
0 / 0 |