Дело в том, что так как это тестовая площадка, то я точно знаю, что один апстрим всегда живой. Мне не очень понятна логика выбора апстримов, когда многие из них лежат (по таймауту). Например: вот для этой конфигурации: upsby igor.goncharenko - Nginx Mailing List - Russian
Никто не делает больших fcgi-пулов? :( Хотя бы тогда с этим логом разобраться: 10.0.0.1 - - [25/Nov/2011:15:41:54 +0000] "GET /fcgi-proxy/ HTTP/1.1" 502 1205 "-" "JoeDog/1.00 (X11; I; Siege 2.70)" "-" "10.0.0.77:9000, fcgi_proxy : 10.0.0.12:80 504, 502 : 404 - 30.013, 0.000 : 0.093" 3by igor.goncharenko - Nginx Mailing List - Russian
В такой конфигурации еще интереснее: upstream fcgi_proxy { server 10.0.30.77:9000 max_fails=1 fail_timeout=240s; # answer more than 60 sec server 10.0.30.77:9001 max_fails=1 fail_timeout=240s; # answer more than 60 sec server 10.0.30.77:9002 max_fails=1 fail_timeout=240s; # answer more than 60 sec server 10.0.30.73:9000 max_fails=1 fail_timeoutby igor.goncharenko - Nginx Mailing List - Russian
Нет, как раз 3-й 10.0.0.12:9000 годный а первые два - нет. Скорее всего, он идет на 10.0.0.12:80 потому что принятно решение что пул нерабочий полностью (но мы знаем, что один из fcgi пула живой), и nginx идет за ошибкой на бэкенд (он у меня сby igor.goncharenko - Nginx Mailing List - Russian
Hi! Тестирую php-fpm пул и nginx балансером к нему. Требования - если один или несколько из серверов пула начинают отвечать дольше чем 30 сек - запрос отправлять на другой сервер пула: nginx.conf: http { {skip} fastcgi_connect_timeout 3; fastcgi_nby igor.goncharenko - Nginx Mailing List - Russian
Спасибо за помощь. Теперь работает без именованного локейшна. Но по https не годится :( SNI не подходит (freebsd 7.1, соответственно nginx без sni, и неизвестно чем ходят клиенты). --- Igorby igor.goncharenko - Nginx Mailing List - Russian
Не отдается кастомная страница /custom_deny.html если использовать return. Через именованый локейшн получилось: server { listen local.com:80; server_name ~^ "\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$"; return 403; error_page 403 @403; #named locations location @403 { root /usr/by igor.goncharenko - Nginx Mailing List - Russian
Hi! Мне нужно запретить пользователям ходить по ip адресам вместо доменных имен в urlе. Я сделал так: server { listen local.com:80; {skip} if ( $host ~ "\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b" ) { return 418; } error_page 418 =403 @418; location @418 { root /usr/local/www/errby igor.goncharenko - Nginx Mailing List - Russian
Точно так про 502 ошибку. спасибо, Максим. --- Igorby igor.goncharenko - Nginx Mailing List - Russian
Та нет, вроде: # grep -iR proxy_intercept_errors /usr/local/etc/nginx/ #by igor.goncharenko - Nginx Mailing List - Russian
то-есть, лог такой: access.log ($upstream_addr): 10.0.0.10:7045, 10.0.0.11:7045 : 10.0.0.254:80by igor.goncharenko - Nginx Mailing List - Russian
Hi! Есть у меня несколько comet бэкендов, upstream comet_be { server comet_be1 :7045; server comet_be2 :7045; } upstream main_be { server main_be1:80; } #root location / { proxy_pass http://main_be; } #описаны как: location ~* ^/cm-.* { proxy_pass http://comet_be;by igor.goncharenko - Nginx Mailing List - Russian
Ага, теперь понятно. Я думал это относится только к уникальным хеадерам, то-есть: proxy_set_header {заголовок}. А оно оказывается ко всем proxy_set_header. Спасибо.by igor.goncharenko - Nginx Mailing List - Russian
Hi! Есть у меня в описании проксирующего http сервера: upstream internal_soap { server internal.soap.int:80; } server { listen 192.168.68.1:80; {skip} proxy_set_header X-SSL "NO"; include /usr/local/etc/nginx/proxy.conf; } #описаны несколько локейшинов по интеby igor.goncharenko - Nginx Mailing List - Russian
Спасибо! Поставили. --- Igorby igor.goncharenko - Nginx Mailing List - Russian
Hi! После апгрейда freebsd на 8.2 и nginx на 1.0.3, при старте стала появляться ошибка: nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok nginx: sem_init() failed (28: No space left on device) nginx: sem_init() failed (28: No space left on device) nginx: sem_init() failed (28: No space left on device) nginx: sem_iby igor.goncharenko - Nginx Mailing List - Russian
Спасибо.by igor.goncharenko - Nginx Mailing List - Russian
Это понятно, спасибо. А почему SNI недоделанный?by igor.goncharenko - Nginx Mailing List - Russian
Добрый день! Встала передо мной странная задача - клиент захотел чтобы у него работало 2 доменных имени с одним сертификатом. То-есть у меня есть wild card сертификат от geotrust на домен, например: *.aaa.com, другое доменное имя test.bby igor.goncharenko - Nginx Mailing List - Russian
Maxim Dounin Wrote: ------------------------------------------------------- > Hello! > > On Thu, Nov 04, 2010 at 03:48:45AM -0400, > igor.goncharenko wrote: > > > Вот такой вариант > заработал: > > > > location / > > { > > proxy_pass http://test.loc; > > error_page 418 = @limiby igor.goncharenko - Nginx Mailing List - Russian
Вот такой вариант заработал: location / { proxy_pass http://test.loc; error_page 418 = @limit; if ($args ~* command=test_command&PHPSESSID=.*) { return 418; } } location @limit { limit_req zone=test1 burst=5 nodelay; } Вопрос: насколько правильно использовать несby igor.goncharenko - Nginx Mailing List - Russian
Очень бы не хотелось использовать для этого именованные локейшены, и, кроме этого, нужен признак не только по phpsessid (в вашем примере: if ($arg_sessid) { return 417; } ) а именно command=test_command + phpsessid, то-есть обработать $request_uri все-таки.by igor.goncharenko - Nginx Mailing List - Russian
Hi! Подскажите, как установить лимит для таких запросов: "http://test.host/index.php?command=test_commandPHPSESSION={php session id}" Я сделал location, но он не работает, скорее всего потому, что location работает с uri: location ~* ^/index.php\?command=test_command&PHPSESSID= {by igor.goncharenko - Nginx Mailing List - Russian
Hi! Прошу прощения за, может быть, глупый вопрос. Можно узнать, limit_req_zone $combined zone=test1:30m rate=6000r/m; это то же самое, что и: limit_req_zone $combined zone=test1:30m rate=100r/s; т.е, как считается r/m?by igor.goncharenko - Nginx Mailing List - Russian
Во! Так работает, большое спасибо!by igor.goncharenko - Nginx Mailing List - Russian
Определяю переменную как error_status: set $error_status $upstream_status; и вывожу ее через format_log: "error_status: $error_status" все честно, одно значение: 192.168.1.200 - - [20/Jan/2010:11:02:34 +0000] "GET / HTTP/1.1" 502 169 "-" "Mozilla/5.0 (X11; U; FreeBSD i386; ru; rv:1.9.1.7) Gecko/20by igor.goncharenko - Nginx Mailing List - Russian
Eugene, спасибо, я что-то похожее пробовал через переменную, но, судя по всему, она в бэкенд не передается. А как мне потом в бэкенде обработать этот заголовок? Пробую так: if ($http_X-Previous-Error = 500) { return 500; } но это не работает.by igor.goncharenko - Nginx Mailing List - Russian
Hi! Хочу обрабатывать все 50x ошибки от бэкендов в отдельном бэкенде. В этом отдельном бэкенде хочу выводить разные custom страницы в зависимости от ошибки и location. Сделал так: --vhost config-- upstream backends { server first.backend.com:80; serveby igor.goncharenko - Nginx Mailing List - Russian