udp support
Всем привет! :) Я тут немного поковырялся в /etc/services и в /usr/share/nmap/nmap-services и обнаружил, что есть такая штука, как 8008/tcp http-alt 8008/udp http-alt В связи с этим стало интересно: в NgX нет (?) поддержки UDP по каким-то причинам, или просто потому что не было нужды? :) signature.asc Description: OpenPGP digital signature ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Неправильные (огромные) значения $request time для FastCGI-запросов
Я даже и не знаю, что вам сказать русская халява - она такая 2013/9/2 Maxim Dounin mdou...@mdounin.ru: Hello! On Sat, Aug 31, 2013 at 04:50:28PM -0400, sofiamay wrote: А что, за год баг так и не исправили? Разрабы даже не удосужились здесь отписаться? Баг хотябы в багтрекере висит? Подтверждаю, у меня тоже $request_time выдаёт бред: 240648971536.2381542 240648971536.2381542 240648971536.2381542 240648971536.2381542 240648971536.2381542 Одно и то же для многих запросов подряд, потом опять на другой бред меняет! Когда это исправят? Зачем в Nginx сделана переменная $request_time если она показывает всякий бред, мне думается её нужно убрать, а через несколько лет, когда разрабы соизволят исправить баг, вернуть. Пока же от неё больше вреда чем пользы. P.S. Использую Windows и PHP как FastCGI. Я даже и не знаю, что вам сказать. Привыкайте - это open source. Тут вам никто ничего не должен, и править вылезающие у вас баги - вам. Надеяться, что кто-то придёт, и за вас исправит, тем более на Windows - по меньшей мере наивно. Впрочем, патч: diff -r 683283f8b5fd src/http/modules/ngx_http_log_module.c --- a/src/http/modules/ngx_http_log_module.cThu Aug 29 20:39:13 2013 +0400 +++ b/src/http/modules/ngx_http_log_module.cMon Sep 02 04:38:34 2013 +0400 @@ -780,7 +780,7 @@ ngx_http_log_request_time(ngx_http_reque ((tp-sec - r-start_sec) * 1000 + (tp-msec - r-start_msec)); ms = ngx_max(ms, 0); -return ngx_sprintf(buf, %T.%03M, ms / 1000, ms % 1000); +return ngx_sprintf(buf, %T.%03M, (time_t) ms / 1000, ms % 1000); } diff -r 683283f8b5fd src/http/ngx_http_variables.c --- a/src/http/ngx_http_variables.c Thu Aug 29 20:39:13 2013 +0400 +++ b/src/http/ngx_http_variables.c Mon Sep 02 04:38:34 2013 +0400 @@ -1992,7 +1992,7 @@ ngx_http_variable_request_time(ngx_http_ ((tp-sec - r-start_sec) * 1000 + (tp-msec - r-start_msec)); ms = ngx_max(ms, 0); -v-len = ngx_sprintf(p, %T.%03M, ms / 1000, ms % 1000) - p; +v-len = ngx_sprintf(p, %T.%03M, (time_t) ms / 1000, ms % 1000) - p; v-valid = 1; v-no_cacheable = 0; v-not_found = 0; -- Maxim Dounin http://nginx.org/en/donation.html ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: nginx-ru Digest, Vol 47, Issue 4
В таком случае, если отрабатывает только последний из if'ов - то в данной конфигурации: location ~* /test/url/Page.asmx { proxy_pass http://test_upstream; proxy_redirect off; proxy_set_header Host $host; proxy_set_header Remote-Addr $remote_addr; proxy_set_header X-Real-IP$remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Public-Url http://$host$request_uri; ... some other proxy options ... # set $my_ipsrc 0; # allow 10.10.1.75/32; if ($remote_addr = 10.10.1.75) { set $my_ipsrc 1; } # allow 10.20.1.20/32; if ($remote_addr = 10.20.1.20) { set $my_ipsrc 1; } # allow 10.20.1.21/32; if ($remote_addr = 10.20.1.21) { set $my_ipsrc 1; } # allow 10.100.1.0/24; if ($remote_addr = 10.100.1.0/24) { set $my_ipsrc 1; } # allow 178.111.122.133/32; if ($remote_addr = 178.111.122.133) { set $my_ipsrc 1; } # deny all; if ($my_ipsrc = 0) { return 500; } } всем, кроме последнего адреса, должно возвращаться 500 ? или лыжи не едут? :) 2 сентября 2013 г., 4:16 пользователь nginx-ru-requ...@nginx.org написал: Сообщения, предназначенные для списка рассылки nginx-ru, необходимо отправлять по адресу nginx-ru@nginx.org Для изменения параметров подписки вы можеже использовать веб-страницу http://mailman.nginx.org/mailman/listinfo/nginx-ru Для получения информации о том, как пользовать почтовым интерфейсом, отправьте письмо, в теле или теме которого будет слово 'help', по адресу: nginx-ru-requ...@nginx.org Адрес человека, ответственного за этот список рассылки: nginx-ru-ow...@nginx.org При ответе, пожалуйста, измение тему письма так, чтобы она была более содержательной чем Re: Содержание дайджеста списка рассылки nginx-ru... Today's Topics: 1. Re: true 414 status code (Vladimir Getmanshchuk) 2. Re: 400 Bad Request 1.5.4 (1.5.3 = OK) (locojohn) 3. Re: If is Evil (Daniel Podolsky) 4. Re: true 414 status code (Валентин Бартенев) 5. Re: true 414 status code (Валентин Бартенев) 6. Re: If is Evil (Maxim Dounin) 7. Re: If is Evil (Васильев Zmey! Олег) 8. Re: Неправильные (огромные) значения $request time для FastCGI-запросов (Maxim Dounin) -- Пересылаемое сообщение -- From: Vladimir Getmanshchuk vlad...@gmail.com To: nginx-ru@nginx.org Cc: Date: Sun, 1 Sep 2013 23:33:57 +0300 Subject: Re: true 414 status code Амм... Спасибо за скорость и лаконичность. Судя по http://www.w3.org/Protocols/HTTP/HTRESP.html, в HTTP/0.9 тоже есть status codes, или я что то недопонимаю? Да! И еще, в аутпуте curl, nginx отвечает HTTP/1.1 200 OK 2013/8/31 Валентин Бартенев n...@vbart.ru On Sunday 01 September 2013 00:32:16 Vladimir Getmanshchuk wrote: Здравствуйте! Подскажите пожалуйста, а как без грязных хаков получить от nginx, 414 status code, на запросы, размер которых, превышает large_client_header_ buffers? Постоянно получаю 200 http status code и нижеприведенное в body: html headtitle414 Request-URI Too Large/title/head body bgcolor=white centerh1414 Request-URI Too Large/h1/center hrcenternginx/1.2.9/center /body /html Это не 200 http status code, а HTTP/0.9 ответ с ошибкой. -- Валентин Бартенев http://nginx.org/en/donation.html ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Yours sincerely, Vladimir Getmanshchuk -- Пересылаемое сообщение -- From: locojohn nginx-fo...@nginx.us To: nginx-ru@nginx.org Cc: Date: Sun, 01 Sep 2013 16:44:45 -0400 Subject: Re: 400 Bad Request 1.5.4 (1.5.3 = OK) Oleksandr V. Typlyns'kyi Wrote: Как видно из кода стороннего модуля(а туда тоже следовало бы посмотреть), там несколько return NGX_HTTP_BAD_REQUEST без записи чего-либо в лог ошибок. И они явно намекают на content type который теперь application/javascript. Добавление его в concat_types должно помочь. Спасибо за отличный хинт! Добавление application/javascript в concat_types не помогло, пришлось подпатчить исходный модуль concat: --- ngx_http_concat_module.c +++ ngx_http_concat_module.c @@ -30,7 +30,7 @@ static ngx_str_t ngx_http_concat_default_types[] = { -ngx_string(application/x-javascript), +ngx_string(application/javascript), ngx_string(text/css), ngx_null_string }; Ещё раз - спасибо! Posted at Nginx Forum: http://forum.nginx.org/read.php?21,242399,242424#msg-242424 -- Пересылаемое сообщение -- From: Daniel Podolsky onoko...@gmail.com To: nginx-ru nginx-ru@nginx.org Cc: Date: Mon, 2 Sep 2013 00:47:34
502 уступили место 504
Привет. После включения кеша fastcgi ошибки 502 сменились на 504. Это ожидаемое поведение? fastcgi_cache_path /var/cache/nginx levels=2 keys_zone=NAME:50m max_size=1024m inactive=5m; fastcgi_temp_path /var/cache/nginx/fastcgi_temp; fastcgi_cache_key $cookie_uid|$scheme|$request_method|$host|$request_uri; fastcgi_cache_methods GET HEAD; map $request_uri $no_cache { default 1; ~/gsa/index 0; ~/product/ 0; } fastcgi_no_cache $no_cache; fastcgi_cache_bypass $no_cache; Posted at Nginx Forum: http://forum.nginx.org/read.php?21,242452,242452#msg-242452 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: nginx-ru Digest, Vol 47, Issue 4
В данной конфигурации нужно выкинуть все if и сделать map + if. Либо использовать allow+deny, как это обычно делают. 2013/9/2 Андрей Середенко andrei.serede...@gmail.com: В таком случае, если отрабатывает только последний из if'ов - то в данной конфигурации: location ~* /test/url/Page.asmx { proxy_pass http://test_upstream; proxy_redirect off; proxy_set_header Host $host; proxy_set_header Remote-Addr $remote_addr; proxy_set_header X-Real-IP$remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Public-Url http://$host$request_uri; ... some other proxy options ... # set $my_ipsrc 0; # allow 10.10.1.75/32; if ($remote_addr = 10.10.1.75) { set $my_ipsrc 1; } # allow 10.20.1.20/32; if ($remote_addr = 10.20.1.20) { set $my_ipsrc 1; } # allow 10.20.1.21/32; if ($remote_addr = 10.20.1.21) { set $my_ipsrc 1; } # allow 10.100.1.0/24; if ($remote_addr = 10.100.1.0/24) { set $my_ipsrc 1; } # allow 178.111.122.133/32; if ($remote_addr = 178.111.122.133) { set $my_ipsrc 1; } # deny all; if ($my_ipsrc = 0) { return 500; } } всем, кроме последнего адреса, должно возвращаться 500 ? или лыжи не едут? :) 2 сентября 2013 г., 4:16 пользователь nginx-ru-requ...@nginx.org написал: Сообщения, предназначенные для списка рассылки nginx-ru, необходимо отправлять по адресу nginx-ru@nginx.org Для изменения параметров подписки вы можеже использовать веб-страницу http://mailman.nginx.org/mailman/listinfo/nginx-ru Для получения информации о том, как пользовать почтовым интерфейсом, отправьте письмо, в теле или теме которого будет слово 'help', по адресу: nginx-ru-requ...@nginx.org Адрес человека, ответственного за этот список рассылки: nginx-ru-ow...@nginx.org При ответе, пожалуйста, измение тему письма так, чтобы она была более содержательной чем Re: Содержание дайджеста списка рассылки nginx-ru... Today's Topics: 1. Re: true 414 status code (Vladimir Getmanshchuk) 2. Re: 400 Bad Request 1.5.4 (1.5.3 = OK) (locojohn) 3. Re: If is Evil (Daniel Podolsky) 4. Re: true 414 status code (Валентин Бартенев) 5. Re: true 414 status code (Валентин Бартенев) 6. Re: If is Evil (Maxim Dounin) 7. Re: If is Evil (Васильев Zmey! Олег) 8. Re: Неправильные (огромные) значения $request time для FastCGI-запросов (Maxim Dounin) -- Пересылаемое сообщение -- From: Vladimir Getmanshchuk vlad...@gmail.com To: nginx-ru@nginx.org Cc: Date: Sun, 1 Sep 2013 23:33:57 +0300 Subject: Re: true 414 status code Амм... Спасибо за скорость и лаконичность. Судя по http://www.w3.org/Protocols/HTTP/HTRESP.html, в HTTP/0.9 тоже есть status codes, или я что то недопонимаю? Да! И еще, в аутпуте curl, nginx отвечает HTTP/1.1 200 OK 2013/8/31 Валентин Бартенев n...@vbart.ru On Sunday 01 September 2013 00:32:16 Vladimir Getmanshchuk wrote: Здравствуйте! Подскажите пожалуйста, а как без грязных хаков получить от nginx, 414 status code, на запросы, размер которых, превышает large_client_header_ buffers? Постоянно получаю 200 http status code и нижеприведенное в body: html headtitle414 Request-URI Too Large/title/head body bgcolor=white centerh1414 Request-URI Too Large/h1/center hrcenternginx/1.2.9/center /body /html Это не 200 http status code, а HTTP/0.9 ответ с ошибкой. -- Валентин Бартенев http://nginx.org/en/donation.html ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Yours sincerely, Vladimir Getmanshchuk -- Пересылаемое сообщение -- From: locojohn nginx-fo...@nginx.us To: nginx-ru@nginx.org Cc: Date: Sun, 01 Sep 2013 16:44:45 -0400 Subject: Re: 400 Bad Request 1.5.4 (1.5.3 = OK) Oleksandr V. Typlyns'kyi Wrote: Как видно из кода стороннего модуля(а туда тоже следовало бы посмотреть), там несколько return NGX_HTTP_BAD_REQUEST без записи чего-либо в лог ошибок. И они явно намекают на content type который теперь application/javascript. Добавление его в concat_types должно помочь. Спасибо за отличный хинт! Добавление application/javascript в concat_types не помогло, пришлось подпатчить исходный модуль concat: --- ngx_http_concat_module.c +++ ngx_http_concat_module.c @@ -30,7 +30,7 @@ static ngx_str_t ngx_http_concat_default_types[] = { -ngx_string(application/x-javascript), +ngx_string(application/javascript), ngx_string(text/css), ngx_null_string }; Ещё раз - спасибо! Posted at Nginx Forum:
Re: nginx-ru Digest, Vol 47, Issue 4
Hello! On Mon, Sep 02, 2013 at 11:38:22AM +0300, Андрей Середенко wrote: В таком случае, если отрабатывает только последний из if'ов - то в данной конфигурации: location ~* /test/url/Page.asmx { [...] set $my_ipsrc 0; # allow 10.10.1.75/32; if ($remote_addr = 10.10.1.75) { set $my_ipsrc 1; } # allow 10.20.1.20/32; if ($remote_addr = 10.20.1.20) { set $my_ipsrc 1; } # allow 10.20.1.21/32; if ($remote_addr = 10.20.1.21) { set $my_ipsrc 1; } # allow 10.100.1.0/24; if ($remote_addr = 10.100.1.0/24) { set $my_ipsrc 1; } JFYI: эта проверка никогда не срабатывает, т.к. операция = - это сравнение со строкой, а адрес не может выглядеть как 10.100.1.0/24. # allow 178.111.122.133/32; if ($remote_addr = 178.111.122.133) { set $my_ipsrc 1; } # deny all; if ($my_ipsrc = 0) { return 500; } } всем, кроме последнего адреса, должно возвращаться 500 ? или лыжи не едут? :) Вы неправильно прочитали то, что было написано. Запрос будет обрабатываться в контексте неявного location'а, относящегося к последнему сработавшему if'у. E.g., для ip 10.10.1.75 запрос будет обротан в контексте if ($remote_addr = 10.10.1.75) { set $my_ipsrc 1; } со всеми вытекающими из этого последствиями вроде отсутствия try_files. Но вообще конфигурация, скажем так, далека от разумного. Правильно - использовать allow/deny (+ error_page, если нужно вместо 403 выдать 500) или geo{}. Ссылки по теме: http://nginx.org/ru/docs/http/ngx_http_access_module.html http://nginx.org/ru/docs/http/ngx_http_geo_module.html -- Maxim Dounin http://nginx.org/en/donation.html ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: true 414 status code
On 02.09.2013 7:00, Валентин Бартенев wrote: JFYI, http://hg.nginx.org/nginx/rev/62be77b0608f спасибо, теперь nginx стал еще лучше и удобнее. -- Best regards, Gena ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: true 414 status code
Здорово! Но не повлияет ли это на производительность? Спасибо! 2013/9/2 Gena Makhomed g...@csdoc.com On 02.09.2013 7:00, Валентин Бартенев wrote: JFYI, http://hg.nginx.org/nginx/rev/**62be77b0608fhttp://hg.nginx.org/nginx/rev/62be77b0608f спасибо, теперь nginx стал еще лучше и удобнее. -- Best regards, Gena __**_ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/**mailman/listinfo/nginx-ruhttp://mailman.nginx.org/mailman/listinfo/nginx-ru -- Yours sincerely, Vladimir Getmanshchuk ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: true 414 status code
On Monday 02 September 2013 16:58:05 Vladimir Getmanshchuk wrote: Здорово! Но не повлияет ли это на производительность? Спасибо! Не повлияет. -- Валентин Бартенев http://nginx.org/en/donation.html ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Помогите разобраться с проверкой рефера
Не могу разобраться с проверкой реферера, что нужно: если реферер не с моего сайта отдавать статику без jpg (он будет обрабатываться апачем бля наложения ватермарка) если реферер с сайта то отдавать статику NGINXом включая и jpg мой код в конфиге: location * { valid_referers none blocked www.mysite.net www.mysite.net; if ($invalid_referer) { set $chek_referer jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf; } if (!-f $invalid_referer) { set $chek_referer jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf; } } location ~* ^.+\.($chek_referer)$ { root /var/www/user/data/www/img.mysite.net; access_log /var/www/httpd-logs/img.mysite.net.access.log ; access_log /var/www/nginx-logs/user isp; } помогите разобраться Posted at Nginx Forum: http://forum.nginx.org/read.php?21,242469,242469#msg-242469 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Адаптация правил работающих в mod_rewrite для nginx
Доброго времени суток. Нужно перенести один виртуалхост с сервера с apache на сервер с nginx. Все бы ничего, да вот правила rewrite там жуткие, даже не представляю как это все запустить под nginx. в httpd.conf: RewriteMap decode prg:/usr/local/etc/apache22/decode.pl decode.pl - перловый скрипт, выправляющий закодированые части url, такие как слеши, пробелы и пр спецсимволы в читабельный и понимаемый mod_proxy вид: #!/usr/bin/perl use URI::Escape; $| = 1; while (STDIN) { print uri_unescape($_); } в .htaccess: RewriteEngine On RewriteBase / RewriteCond %{QUERY_STRING} ^url=(.*)$ [NC] RewriteRule .* ${decode:%1} [P,L,NE] Можно-ли такую вот конструкцию реализовать в nginx и если да, то как? ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru