Re: nginx зависает - а поможет Varnish перед nginx?
Varnish кеширует в памяти. Поможет побороть зависание из-за торозов с дисками установка перед nginx - varnish? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265286,265460#msg-265460 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Возможна ли переадресация с /kolesa/index.php на /kolesa/
Привет от дилетантов в nginx. Подскажите, возможна ли переадресация с /kolesa/index.php на /kolesa/? Пробовал такой вариант, но не сработало: server { listen __.___.__.___:80; server_name www.domen.ru/kolesa/index.php; return 301 ^ http://domen.ru/kolesa/$request_uri? permanent; #301 redirect } Подскажите как сделать такую переадресацию. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265428,265428#msg-265428 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Возможна ли переадресация с /kolesa/index.php на /kolesa/
А зачем вы используете: server_name www.domen.ru/moto; server_name www.domen.ru/kolesa/index.php; Почему не используете /location ? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265428,265447#msg-265447 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Возможна ли переадресация с /kolesa/index.php на /kolesa/
Да, скорее всего есть. Нашел такую строчку: index index.php index.html index.htm default.html default.htm; Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265428,265441#msg-265441 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: webdav запись файла по другому root в случае если закончилось место
Если дружите с перлом, можете на нем 2016-03-18 11:07 GMT+02:00 Иван Мишин: > Я подумывал о lua изначально, да только вот эта > https://forum.nginx.org/read.php?21,265294,265310 рассылка всю охоту к > lua отбила у меня. > > > 18 марта 2016 г., 8:25 пользователь Илья Шипицин > написал: > > не так давно пробегал пример, как webdav подружить с lua, чудеса уровня >> тех, про которые вы говорите >> >> https://forum.nginx.org/read.php?21,259941,259941 >> >> 16 марта 2016 г., 20:04 пользователь Иван Мишин >> написал: >> >>> Добрый день! >>> >>> Вопрос следующий: >>> Есть nginx 1.8.1, на нем настроен вебдав. Конфиг простой >>> server { listen 80; server_name testdav; access_log /var/log/nginx/testdav_access.log main; error_log /var/log/nginx/testdav_error.log error; location / { root /tmp/ram/testdav; open_file_cache off; client_max_body_size 1000m; dav_methods PUT; dav_access user:rw group:r all:r; create_full_put_path on; } >>> >>> В случае когда nginx записывает файл в /tmp/ram/testdav и там кончается >>> место, хочется сделать так чтобы nginx этот файл записал в другое место >>> /tmp2/ram/testdav. >>> Есть идеи как это реализовать? >>> В случае нехватки места nginx отдает 500 ошибку. пробовал конфиг >>> server { listen 80; server_name testdav; access_log /var/log/nginx/testdav_access.log main; error_log /var/log/nginx/testdav_error.log error; location / { error_page 500 = @e500; root /tmp/ram/testdav; open_file_cache off; client_max_body_size 1000m; dav_methods PUT; dav_access user:rw group:r all:r; create_full_put_path on; } location @e500 { root /tmp2/ram/testdav; open_file_cache off; client_max_body_size 1000m; dav_methods PUT; dav_access user:rw group:r all:r; create_full_put_path on; } } >>> >>> >>> Но не работает, в логах: >>> 2016/03/16 17:40:20 [alert] 15872#0: *1 write() has written only 24576 of 2338816 to /tmp/ram/testdav/tengine.tar.02, client: 127.0.0.1, server: testdav, request: "PUT /tengine.tar HTTP/1.1", host: "testdav" 2016/03/16 17:40:20 [crit] 15872#0: *1 chmod() "/var/cache/nginx/client_temp/01" failed (2: No such file or directory), client: 127.0.0.1, server: testdav, request: "PUT /tengine.tar HTTP/1.1", host: "testdav" 2016/03/16 17:40:20 [crit] 15872#0: *1 unlink() "/var/cache/nginx/client_temp/01" failed (2: No such file or directory), client: 127.0.0.1, server: testdav, request: "PUT /tengine.tar HTTP/1.1", host: "testdav" >>> >>> >>> >>> >>> ___ >>> 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 >> > > > ___ > 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: Возможна ли переадресация с /kolesa/index.php на /kolesa/
Хотел сделать переадресацию, чтобы людей не смущало наличие index.php в строке браузера. Плюс чтобы не было дублей в поисковиках. Но пока вроде не появились дубли. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265428,265442#msg-265442 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Acept systemd.socket
On Wed, Mar 16, 2016 at 08:32:26AM -0400, S.A.N wrote: > > И более правильным, потому что независимо от чей-то любви к > > systemd.socket > > в данном случае он поставленную задачу НЕ решает. Всяко лучше > > устранить > > проблему полностью, чем уменьшить её вероятность на несколько > > процентов. > > systemd.socket задачу решает, тесты показали что он заметно раньше готов > принимать конекты, потом Nginx их принимает, проверил через прокси > /usr/lib/systemd/systemd-socket-proxyd 0.0.0.0:80 > > Я не большой специалист в сетевых интерфейсах, если не сложно объясните мне > простыми словами, почему systemd.socket не решает мои задачи? Не решает потому, что интерфейсы активируются до того, как systemd создаёт и привязывает сокеты. Поэтому есть интервал времени, когда коннекции режектятся. Перечитайте внимательно предыдущие письма. -- Eugene Berdnikov ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: http/2 + backend http/1.1
Понял, спасибо большое! А что насчёт директивы resolve? Есть ли какая-нибудь информация о передаче её в массы? 18.03.2016, 05:10, "Maxim Dounin": > Hello! > > On Fri, Mar 18, 2016 at 04:43:49AM +0300, Den Bozhok wrote: > >> Возник следующий вопрос. При использовании http/2 для клиентов и при >> этом работая с бэкендами по http/1.1, как происходит работа с >> соединениями к бэкенду? >> >> Насколько я знаю, http/1.1 по умолчанию задумывался как протокол >> работающий с keepalive. >> >> Nginx разбирая мультиплексированные запросы от клиента по http/2 >> создает по новому соединению к бэкенду для каждого запроса, или >> устанавливает одно TCP соединение и посылает все последующие запросы >> клиента по этому соединению? > > Одновременно запущенные HTTP/2 запросы выполняются независимо, > ровно так же, как это было бы, если бы эти запросы пришли по > разным соединениям. Соответственно если два запроса одновременно > уходят на бекенд - будет открыто два соединения на бекенд, и > каждый запрос будет отправлен в своём соединении. > > -- > Maxim Dounin > http://nginx.org/ > > ___ > 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 и lua
а как будет сделать правильно? 16 марта 2016 г., 18:29 пользователь Maxim Douninнаписал: > Hello! > > On Wed, Mar 16, 2016 at 09:30:04AM +0500, Илья Шипицин wrote: > > > а можете привести примеры сомнительности кода? > > Можно. Пример: > > > https://github.com/openresty/lua-nginx-module/blob/master/src/ngx_http_lua_subrequest.c#L1437 > > Реимплиментирована с небольними изменениями функция > ngx_http_subrequest(). Соответственно при любых сколько-нибудь > затрагивающих работу подзапросов внутренних изменениях в > nginx - будут проблемы. > > -- > Maxim Dounin > http://nginx.org/ > > ___ > 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: error_page не работает
Hello! On Fri, Mar 18, 2016 at 03:07:34PM +0300, Иван Мишин wrote: > взглянул уже. Но это не мой случай. Самое интересное у меня в проде этих > error_page крутится целое множество. А на тестовом стенде не работает и все > тут. А как это может быть не ваш случай, если _все_ запросы у вас отправляются на бекенд? > > > location / { > > > proxy_pass http://local; > > > error_page 404 /404e.html; > > > } С такой конфигурацией сам nginx вернуть 404 не может, может только передать клиенту то, что сказал бекенд. И если флаг proxy_intercept_errors не включён - то и директива error_page смысла не имеет. -- Maxim Dounin http://nginx.org/ ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: http/2 + backend http/1.1
Hello! On Fri, Mar 18, 2016 at 04:43:49AM +0300, Den Bozhok wrote: >Возник следующий вопрос. При использовании http/2 для клиентов и при >этом работая с бэкендами по http/1.1, как происходит работа с >соединениями к бэкенду? > >Насколько я знаю, http/1.1 по умолчанию задумывался как протокол >работающий с keepalive. > >Nginx разбирая мультиплексированные запросы от клиента по http/2 >создает по новому соединению к бэкенду для каждого запроса, или >устанавливает одно TCP соединение и посылает все последующие запросы >клиента по этому соединению? Одновременно запущенные HTTP/2 запросы выполняются независимо, ровно так же, как это было бы, если бы эти запросы пришли по разным соединениям. Соответственно если два запроса одновременно уходят на бекенд - будет открыто два соединения на бекенд, и каждый запрос будет отправлен в своём соединении. -- Maxim Dounin http://nginx.org/ ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Acept systemd.socket
On Tuesday 15 March 2016 19:34:54 S.A.N wrote: [..] > > > Nginx загружается намного позже ядра, наша задача - пока Nginx не > > > загрузился, не терять, не дропать пакеты, а сделать очередь, которую > > > обработает Nginx когда запустится. > > > > Вы, вероятно, не поняли. Коннекции не теряются (вообще, не терять > > коннекции и не дропать пакеты -- это разные задачи, вторая для tcp > > не имеет большого смысла). > > > > Есть смысл не режектить коннекции пока сервер не запустится, чтобы > > клиенты не получали отлуп. Ваше решение в этом плане плохо тем, что > > есть интервал времени между подъёмом сетевых интерфейсов и стартом > > сервера, когда коннекции режектятся и клиенты получают отказ. > > Использование systemd для сокетной инициализации от этого не спасает. > > Если же сервис закрыть пакетным фильтром (на DROP) до подъёма > > интерфейса, > > где-нибудь в pre-up, и открыть после старта сервера, то никаких > > режектов не будет. > > Возможно вы правы, но мне как разработчику бекенда, приятней и понятней > настраивать директивы systemd.socket. > > Наши бекенд демоны запускает systemd.socket, он же и следит за ними на > протяжении их жизни. > Nginx по сути такой же демон, но стартуют при загрузки OS, я замерял время > когда доступный systemd.socket и когда Nginx, в результате Nginx готов к > принятию конектов на ~700 ms позже, по сравнению с systemd.socket. > Это не критично и OS перегружается редко, но зачем терять эти ~700 ms, > что-то настраивать в iptables можно, но зачем когда есть systemd. > > Nginx, станет только лучше если реализует прием сокета от systemd.socket. > Это довольно странное желание - чтобы машина, которая по сути ещё не готова к работе, частично делала вид, что она готова принимать трафик. Что вы будете делать если nginx так и не заработает через 700 мс, а балансировщик уже радостно нальет на неё трафик? Почему вы считаете, что эти 700 мс куда-то теряются, хотя тем временем они могли бы быть обслужены живой машиной за меньшее время? А сколько секунд теряется на биос и загрузку ядра? В чем разница? Т.н. HA обеспечивается вовсе не такими методами. Больше похоже на способ тщательно разложить самому себе грабли у входа. -- Валентин Бартенев ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: error_page не работает
как заставить nginx отдавать 444 самому? так: > > server { > listen 80; > server_name php-info.club; > access_log /var/log/nginx/php-info.club_access.log main; >error_log /var/log/nginx/php-info.club_error.log error; > proxy_set_header Host $host; > proxy_set_header X-Real-IP $remote_addr; > proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; > error_page 404 /404e.html; > location / { > proxy_pass http://local; > } > location = /404e.html { > return 444; > } > } 18 марта 2016 г., 17:25 пользователь Maxim Douninнаписал: > Hello! > > On Fri, Mar 18, 2016 at 03:07:34PM +0300, Иван Мишин wrote: > > > взглянул уже. Но это не мой случай. Самое интересное у меня в проде этих > > error_page крутится целое множество. А на тестовом стенде не работает и > все > > тут. > > А как это может быть не ваш случай, если _все_ запросы у вас > отправляются на бекенд? > > > > > location / { > > > > proxy_pass http://local; > > > > error_page 404 /404e.html; > > > > } > > С такой конфигурацией сам nginx вернуть 404 не может, может только > передать клиенту то, что сказал бекенд. И если флаг > proxy_intercept_errors не включён - то и директива error_page > смысла не имеет. > > -- > Maxim Dounin > http://nginx.org/ > > ___ > 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: в новой версии chrome (49.0.2623.87 m) не отображается текст auth basic
А при чем тут nginx? С apache такая же картина ;) On Thu, Mar 17, 2016 at 9:52 AM, snikewrote: > Новый хром перестал отображать текст из параметра auth_basic > > location / { > auth_basic "MESSAGE"; > auth_basic_user_file conf/htpasswd; > } > > > > сообщения MESSAGE в окне нет. > > скриншот > > http://i.piccy.info/i9/dc60b89471352c1a57e55b246882ae5f/1458201082/13592/1012881/nginx.jpg > > Posted at Nginx Forum: > https://forum.nginx.org/read.php?21,265425,265425#msg-265425 > > ___ > 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: Возможна ли переадресация с /kolesa/index.php на /kolesa/
e.lodyanov Wrote: --- > Таак. И как же это должно быть прописано? И где? как организована обработка запросов на сайте? пользователь набрал в браузере адрес http://[ваш домен]/moto какой скрипт получит этот запрос? в самом начале этого скрипта вы можете проверить заканчивается ли request uri слешом "/" или нет? вот в том месте и решайте Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265428,265458#msg-265458 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: error_page не работает
взглянул уже. Но это не мой случай. Самое интересное у меня в проде этих error_page крутится целое множество. А на тестовом стенде не работает и все тут. 2016-03-18 15:06 GMT+03:00 Sergey Kandaurov: > On Mar 18, 2016, at 3:00 PM, Иван Мишин wrote: > > Подскажите почему не работает директива error_page? Конфиг вроде верный. > > server { > > listen 80; > > server_name php-info.club; > > access_log /var/log/nginx/php-info.club_access.log main; > >error_log /var/log/nginx/php-info.club_error.log error; > > proxy_set_header Host $host; > > proxy_set_header X-Real-IP $remote_addr; > > proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; > > location / { > > proxy_pass http://local; > > error_page 404 /404e.html; > > } > > location = /404e.html { > > return 444; > > } > > } > > Попробуйте взглянуть в сторону proxy_intercept_errors. > > -- > Sergey Kandaurov > > ___ > 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: Модуль stream и использование map
у вас в секции stream идет проксирование на http. если это не опечатка, то можно переделать на http 16 марта 2016 г., 19:44 пользователь Alex Domoradovнаписал: > А как примерно будет выглядеть мой конфиг для stream переписанный через > http? > > 2016-03-16 12:59 GMT+02:00 Maxim Konovalov : > >> On 3/16/16 1:39 PM, Alex Domoradov wrote: >> > Понял, спасибо. А может есть какой то workaround так сказать? >> > >> Workaround тут нет, к сожалению, кроме того, что реализовать эту >> логику пока средствами http {}. Судя по вашей конфигурации, это >> возможно. >> >> В среднесрочной перспективе есть планы поддержки переменных/map в >> стриме. >> >> -- >> Maxim Konovalov >> >> ___ >> 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 > ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: mp4 pseudostreaming with proxy_pass and slice
Спасибо за развернутый ответ. Однако передать range в аргументах все же можно. Для этого нужно сформировать заголовок Range где-нибудь на REWRITE_PHASE. Это можно сделать lua (про ngscript не скажу) Правильно ли я понимаю, что я с помощью lua должен преобразовать входящий аргумент начало видео (скажемhttp://mynginx.server/test.mp4?start=40)в Range-запрос к бэкенду? То есть необходимо получить с бэкенда метаданные mp4-файла (moov-atom) и с помощью moov-atom сконвертировать смещение start=40 в Range-запрос? -- С уважением, Коростелев Анатолий ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Acept systemd.socket
Просто для общего развития. А что, для кого то 700 ms (я так понял именно такая задержка) реально играют роль? 2016-03-16 16:54 GMT+02:00 Evgeniy Berdnikov: > On Wed, Mar 16, 2016 at 08:32:26AM -0400, S.A.N wrote: > > > И более правильным, потому что независимо от чей-то любви к > > > systemd.socket > > > в данном случае он поставленную задачу НЕ решает. Всяко лучше > > > устранить > > > проблему полностью, чем уменьшить её вероятность на несколько > > > процентов. > > > > systemd.socket задачу решает, тесты показали что он заметно раньше готов > > принимать конекты, потом Nginx их принимает, проверил через прокси > > /usr/lib/systemd/systemd-socket-proxyd 0.0.0.0:80 > > > > Я не большой специалист в сетевых интерфейсах, если не сложно объясните > мне > > простыми словами, почему systemd.socket не решает мои задачи? > > Не решает потому, что интерфейсы активируются до того, как systemd > создаёт и привязывает сокеты. Поэтому есть интервал времени, когда > коннекции режектятся. Перечитайте внимательно предыдущие письма. > -- > Eugene Berdnikov > > ___ > 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: error_page не работает
Да пробовал я уже такой вариант. И даже такой пробовал > if ($status = 404) { > return 444; > } Не работает и все тут. 18 марта 2016 г., 15:35 пользователь Sergey Kandaurovнаписал: > On Mar 18, 2016, at 3:07 PM, Иван Мишин wrote: > > взглянул уже. Но это не мой случай. Самое интересное у меня в проде этих > error_page крутится целое множество. А на тестовом стенде не работает и все > тут. > > > > Видимо, клиенту по прежнему уходит 404-й код (со всеми заголовками). > > : Кроме того, можно поменять код ответа на другой, > : используя синтаксис вида “=ответ” > > См. http://nginx.org/r/error_page/ru. > > [..context lost to top posting] > > -- > Sergey Kandaurov > > ___ > 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: Модуль stream и использование map
А как примерно будет выглядеть мой конфиг для stream переписанный через http? 2016-03-16 12:59 GMT+02:00 Maxim Konovalov: > On 3/16/16 1:39 PM, Alex Domoradov wrote: > > Понял, спасибо. А может есть какой то workaround так сказать? > > > Workaround тут нет, к сожалению, кроме того, что реализовать эту > логику пока средствами http {}. Судя по вашей конфигурации, это > возможно. > > В среднесрочной перспективе есть планы поддержки переменных/map в > стриме. > > -- > Maxim Konovalov > > ___ > 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: Acept systemd.socket
> И более правильным, потому что независимо от чей-то любви к > systemd.socket > в данном случае он поставленную задачу НЕ решает. Всяко лучше > устранить > проблему полностью, чем уменьшить её вероятность на несколько > процентов. systemd.socket задачу решает, тесты показали что он заметно раньше готов принимать конекты, потом Nginx их принимает, проверил через прокси /usr/lib/systemd/systemd-socket-proxyd 0.0.0.0:80 Я не большой специалист в сетевых интерфейсах, если не сложно объясните мне простыми словами, почему systemd.socket не решает мои задачи? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265330,265394#msg-265394 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Поддержка idn-доменов
Вроде бы подобное в листе уже пробегало, но, что-то, я не смог найти в своих архивах. В общем, я хотел бы спросить на счёт того, то товарищи разработчики думают о том, чтобы добавить опциональную директиву при сборке для линковки с libidn (ну, или не добавлять, а реимплементировать своими силами) для того, чтобы получить поддержку idn-доменов в конфиге? А то уж очень задалбывает конвертировать все IDN-домены перед добавлением, а потом ещё конвертировать обратно чтобы вспомнить что это за домен. В данный момент NginX не матерится на юникодные домены в конфиге, но и не воспринимает их как IDN (нверное, ждёт запрос к юникодному). При этом, на сколько я помню, ни одним стандартом такое нынче не разрешено. Да и когда-то давно такое поддерживал то ли только wget, то ли только curl. В любом случае, ни в DNS, ни в hosts, на сколько я помню, юникодный домен не засунешь. Так что в таком виде эта фича получается не к месту. В то время, как указывать IDN-домены без конвертации было бы довольно удобно :) ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
в новой версии chrome (49.0.2623.87 m) не отображается текст auth basic
Новый хром перестал отображать текст из параметра auth_basic location / { auth_basic "MESSAGE"; auth_basic_user_file conf/htpasswd; } сообщения MESSAGE в окне нет. скриншот http://i.piccy.info/i9/dc60b89471352c1a57e55b246882ae5f/1458201082/13592/1012881/nginx.jpg Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265425,265425#msg-265425 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: webdav запись файла по другому root в случае если закончилось место
не так давно пробегал пример, как webdav подружить с lua, чудеса уровня тех, про которые вы говорите https://forum.nginx.org/read.php?21,259941,259941 16 марта 2016 г., 20:04 пользователь Иван Мишиннаписал: > Добрый день! > > Вопрос следующий: > Есть nginx 1.8.1, на нем настроен вебдав. Конфиг простой > >> server { >> listen 80; >> server_name testdav; >> >>access_log /var/log/nginx/testdav_access.log main; >>error_log /var/log/nginx/testdav_error.log error; >> location / { >> root /tmp/ram/testdav; >> open_file_cache off; >> client_max_body_size 1000m; >> dav_methods PUT; >> dav_access user:rw group:r all:r; >> create_full_put_path on; >> } > > В случае когда nginx записывает файл в /tmp/ram/testdav и там кончается > место, хочется сделать так чтобы nginx этот файл записал в другое место > /tmp2/ram/testdav. > Есть идеи как это реализовать? > В случае нехватки места nginx отдает 500 ошибку. пробовал конфиг > >> server { >> listen 80; >> server_name testdav; >> >>access_log /var/log/nginx/testdav_access.log main; >>error_log /var/log/nginx/testdav_error.log error; >> >> location / { >> error_page 500 = @e500; >> >> root /tmp/ram/testdav; >> open_file_cache off; >> client_max_body_size 1000m; >> >> dav_methods PUT; >> dav_access user:rw group:r all:r; >> create_full_put_path on; >> } >> >> location @e500 { >> root /tmp2/ram/testdav; >> open_file_cache off; >> client_max_body_size 1000m; >> dav_methods PUT; >> dav_access user:rw group:r all:r; >> create_full_put_path on; >> } >> } > > > Но не работает, в логах: > >> 2016/03/16 17:40:20 [alert] 15872#0: *1 write() has written only 24576 of >> 2338816 to /tmp/ram/testdav/tengine.tar.02, client: 127.0.0.1, >> server: testdav, request: "PUT /tengine.tar HTTP/1.1", host: "testdav" >> 2016/03/16 17:40:20 [crit] 15872#0: *1 chmod() >> "/var/cache/nginx/client_temp/01" failed (2: No such file or >> directory), client: 127.0.0.1, server: testdav, request: "PUT /tengine.tar >> HTTP/1.1", host: "testdav" >> 2016/03/16 17:40:20 [crit] 15872#0: *1 unlink() >> "/var/cache/nginx/client_temp/01" failed (2: No such file or >> directory), client: 127.0.0.1, server: testdav, request: "PUT /tengine.tar >> HTTP/1.1", host: "testdav" > > > > > ___ > 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: Acept systemd.socket
18 марта 2016 г., 18:44 пользователь S.A.Nнаписал: > > Вот как выкручиваются те кому это действительно надо > > https://developer.atlassian.com/blog/2015/03/docker-systemd-socket-activation/ Бу, так то докер - хост система уже поднята и есть кому держать очередь пакетов и обрабатывать ее. В случае если это bare-system - будет так как писали выше. ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Acept systemd.socket
systemd - это какая-то программа nginx - какая-то программа ни то, ни другое не является ядром. в чем принципиальная разница, т.е. почему считается, что одна программа может запуститься раньше, чем другая программа ? порядок запуска ведь настраивается, вы можете ядру сказать, что у вас init-процессом является то, что вам больше нравится 16 марта 2016 г., 19:54 пользователь Evgeniy Berdnikovнаписал: > On Wed, Mar 16, 2016 at 08:32:26AM -0400, S.A.N wrote: > > > И более правильным, потому что независимо от чей-то любви к > > > systemd.socket > > > в данном случае он поставленную задачу НЕ решает. Всяко лучше > > > устранить > > > проблему полностью, чем уменьшить её вероятность на несколько > > > процентов. > > > > systemd.socket задачу решает, тесты показали что он заметно раньше готов > > принимать конекты, потом Nginx их принимает, проверил через прокси > > /usr/lib/systemd/systemd-socket-proxyd 0.0.0.0:80 > > > > Я не большой специалист в сетевых интерфейсах, если не сложно объясните > мне > > простыми словами, почему systemd.socket не решает мои задачи? > > Не решает потому, что интерфейсы активируются до того, как systemd > создаёт и привязывает сокеты. Поэтому есть интервал времени, когда > коннекции режектятся. Перечитайте внимательно предыдущие письма. > -- > Eugene Berdnikov > > ___ > 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: error_page не работает
On Mar 18, 2016, at 3:00 PM, Иван Мишинwrote: > Подскажите почему не работает директива error_page? Конфиг вроде верный. > server { > listen 80; > server_name php-info.club; > access_log /var/log/nginx/php-info.club_access.log main; >error_log /var/log/nginx/php-info.club_error.log error; > proxy_set_header Host $host; > proxy_set_header X-Real-IP $remote_addr; > proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; > location / { > proxy_pass http://local; > error_page 404 /404e.html; > } > location = /404e.html { > return 444; > } > } Попробуйте взглянуть в сторону proxy_intercept_errors. -- Sergey Kandaurov ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: nginx и lua
Hello! On Thu, Mar 17, 2016 at 08:58:27AM +0500, Илья Шипицин wrote: > а как будет сделать правильно? Правильно - не пытаться реимплементировать с собственными изменениями внутренние функции nginx'а, а использовать те, что есть. И если они по каким-то причинам недостаточны - думать о том, как сделать так, чтобы они были достаточны, либо расширив стандартные функции, либо переосмыслив работу собственного кода. -- Maxim Dounin http://nginx.org/ ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
mp4 pseudostreaming with proxy_pass and slice
Здравствуйте! Меня интересует возможность nginx, позволяющая проксировать запросы на mp4 к бекэнду, чтобы при этом не было необходимости выкачивать на бекэнд весь mp4 (файл может быть очень большим), а было лишь достаточно послать range-запрос на необходимые данные, их закешировать и отдавать клиенту. Для тестирования данной возможности я создал следующую конфигурацию (привожу кусок): location / { proxy_pass http://someIP$uri; proxy_set_header Host example.net proxy_set_header X-Real-IP$remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; slice 1m; proxy_set_headerRange $slice_range; proxy_cache_valid 200 206 1d; proxy_cache irlem; proxy_cache_key $uri$slice_range; } Все работает как и запланировано - если я шлю с клиента на nginx Range-запрос, nginx и клиент получат необходимую часть данных, выравненных по размеру slice. Однако, хотелось бы получать порцию необходимых данных. использую не только Range-запросы, но и явно указывая в URI момент начала (и возможно конца) видео. Например, чтобы при запросе к nginx вида http://mynginx.server/test.mp4?start=40 хотелось бы что nginx преобразовывал start=40 в соответствующий Range-запрос к бэкенду и выкачивал только необходимые данные. Я добавил в конфигурацию своего location параметр mp4 для этого, однако, как выяснилось, mp4 не совместим с proxy_pass. Подскажите, кто-то реализовывал на nginx что-то подобное, и если реализовал то как? Или единственный путь, это писать данную возможность самому (на lua, ngscript, своим модулем, etc)? С уважением, Коростелев Анатолий ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Поддержка idn-доменов
А зачем это всё? Конфиги же генерируются не людьми, комментарии в конфигах никто не запрещал. Мы просто при перегенерации конфигов пишем строчку с комментом и всё удобно (да и остальную информацию для отладки сборки конфигов все равно приходится писать) 16.03.2016 22:30, Vadim A. Misbakh-Soloviov пишет: Вроде бы подобное в листе уже пробегало, но, что-то, я не смог найти в своих архивах. В общем, я хотел бы спросить на счёт того, то товарищи разработчики думают о том, чтобы добавить опциональную директиву при сборке для линковки с libidn (ну, или не добавлять, а реимплементировать своими силами) для того, чтобы получить поддержку idn-доменов в конфиге? А то уж очень задалбывает конвертировать все IDN-домены перед добавлением, а потом ещё конвертировать обратно чтобы вспомнить что это за домен. -- Best Regards, Nick Knutov http://knutov.com ICQ: 272873706 Voice: +7-904-84-23-130 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
webdav запись файла по другому root в случае если закончилось место
Добрый день! Вопрос следующий: Есть nginx 1.8.1, на нем настроен вебдав. Конфиг простой > server { > listen 80; > server_name testdav; > >access_log /var/log/nginx/testdav_access.log main; >error_log /var/log/nginx/testdav_error.log error; > location / { > root /tmp/ram/testdav; > open_file_cache off; > client_max_body_size 1000m; > dav_methods PUT; > dav_access user:rw group:r all:r; > create_full_put_path on; > } В случае когда nginx записывает файл в /tmp/ram/testdav и там кончается место, хочется сделать так чтобы nginx этот файл записал в другое место /tmp2/ram/testdav. Есть идеи как это реализовать? В случае нехватки места nginx отдает 500 ошибку. пробовал конфиг > server { > listen 80; > server_name testdav; > >access_log /var/log/nginx/testdav_access.log main; >error_log /var/log/nginx/testdav_error.log error; > > location / { > error_page 500 = @e500; > > root /tmp/ram/testdav; > open_file_cache off; > client_max_body_size 1000m; > > dav_methods PUT; > dav_access user:rw group:r all:r; > create_full_put_path on; > } > > location @e500 { > root /tmp2/ram/testdav; > open_file_cache off; > client_max_body_size 1000m; > dav_methods PUT; > dav_access user:rw group:r all:r; > create_full_put_path on; > } > } Но не работает, в логах: > 2016/03/16 17:40:20 [alert] 15872#0: *1 write() has written only 24576 of > 2338816 to /tmp/ram/testdav/tengine.tar.02, client: 127.0.0.1, > server: testdav, request: "PUT /tengine.tar HTTP/1.1", host: "testdav" > 2016/03/16 17:40:20 [crit] 15872#0: *1 chmod() > "/var/cache/nginx/client_temp/01" failed (2: No such file or > directory), client: 127.0.0.1, server: testdav, request: "PUT /tengine.tar > HTTP/1.1", host: "testdav" > 2016/03/16 17:40:20 [crit] 15872#0: *1 unlink() > "/var/cache/nginx/client_temp/01" failed (2: No such file or > directory), client: 127.0.0.1, server: testdav, request: "PUT /tengine.tar > HTTP/1.1", host: "testdav" ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Возможна ли переадресация с /kolesa/index.php на /kolesa/
Таак. И как же это должно быть прописано? И где? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265428,265457#msg-265457 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: в новой версии chrome (49.0.2623.87 m) не отображается текст auth basic
https://bugs.chromium.org/p/chromium/issues/detail?id=544244 https://chromium.googlesource.com/chromium/src.git/+/d4fe8211476a0bba1a347204e430aa283c2e7d7f Это явно не баг, а фича с точки зрения разработчиков Chromium, так что или авторизовывать не через basic auth, или идти в тикет и убедительно доказывать, что нужно вернуть старое поведение. чт, 17 мар. 2016 г. в 14:37, snike: > авторизация у мен в nginx , еслии с апачем та же беда то плохо... есть > решение? > > Posted at Nginx Forum: > https://forum.nginx.org/read.php?21,265425,265433#msg-265433 > > ___ > 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 и lua
On Tuesday 15 March 2016 01:37:01 Vadim A. Misbakh-Soloviov wrote: > > Lua - сторонний модуль. И я бы не рекомендовал использовать его > > без нужды, качество кода там - сомнительное. > > Ну, какой есть. Если бы был Lua-модуль от команды NgX — я бы был в > первых рядах, что называется, "писающих кипятком от счастья". Но, увы, > от команды NgX есть только NJS (и тот не в стандартной коробке, и, к > тому же, не смотрел как он там с поддержкой сборки в качестве стороннего > модуля). А Lua есть только от Yichun'а Zhang'а, увы ☹… > > // с другой стороны, я, конечно, не перелопачивал *весь* код ngx-lua, но > в тех местах, где я контрибьютил — код вполне нормальный, на мой > админский (не программерский) взгляд ☺ > [..] Количество строк кода на Си в nginx: nginx $ sloccount src ansic: 121577 Количество строк кода на Си в lua-модуле для nginx (это только модуль, без самого lua-интерпретатора): lua-nginx-module $ sloccount src ansic:34276 т.е. объем одного lua-модуля превышает четверть nginx-а со всеми его 50+ модулями. Выводы каждый может сделать сам. -- Валентин Бартенев ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: upstream и keep alive (API, Си)
Hello! On Fri, Mar 18, 2016 at 02:30:47AM -0400, rba wrote: > Вводная: upstream создаю во время соединения от клиента в acces > handler. > Ограничение: помимо вытаскивания backend connection в location conf. > Вопрос : есть ли возможность передать соединение с бэкендом от > одного запроса к другому в рамках одного соединения keep alive от клиента? > > 1. Подскажите пример и куда глядеть. Глядеть в src/http/modules/ngx_http_upstream_keepalive_module.c. > 2. И от куда брать память(для ngx_peer_connection_t и т.д.) или r->pool > остаётся в какой-то мере жив и достаточен для этого? Нет, r->pool будет уничтожен по окончании исходного запроса клиента. Память для соединения с бекендом следует брать из пула соединения с бекендом же, а относящуюся к соединению с клиентом - из пула соединения с клиентом. -- Maxim Dounin http://nginx.org/ ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: http/2 + backend http/1.1
On 3/18/16 11:50 AM, Alex Domoradov wrote: >> Или есть какой-то специфичный вопрос? > > я так понял, что суть вопрос в том - когда опиум будет доступен для > народа. Т.е. есть ли в планах передача функционала в community > версию nginx > В краткосрочной перспективе таких планов не было. Честно говоря, лично я не видел какого-то существенного количества запросов на бэкпорт этой части из nginx-plus. Подумаем. -- Maxim Konovalov ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: http/2 + backend http/1.1
On 3/18/16 11:21 AM, Den Bozhok wrote: > Понял, спасибо большое! > А что насчёт директивы resolve? Есть ли какая-нибудь информация о передаче её > в массы? > Вы про опцию "resolve" директивы "server" в модулях *_upstream? Она включает периодический ре-ризолв имен, заданных в секции upstream {}, используя настройки ризолвера в директиве resolver. Вроде бы у нас это задокументировано достаточно хорошо: http://nginx.org/en/docs/http/ngx_http_upstream_module.html#server nginx.org/r/resolver Доступна эта штука только в nginx-plus. Или есть какой-то специфичный вопрос? -- Maxim Konovalov ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
upstream и keep alive (API, Си)
Вводная: upstream создаю во время соединения от клиента в acces handler. Ограничение: помимо вытаскивания backend connection в location conf. Вопрос : есть ли возможность передать соединение с бэкендом от одного запроса к другому в рамках одного соединения keep alive от клиента? 1. Подскажите пример и куда глядеть. 2. И от куда брать память(для ngx_peer_connection_t и т.д.) или r->pool остаётся в какой-то мере жив и достаточен для этого? Заранее благодарен. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265455,265455#msg-265455 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: в новой версии chrome (49.0.2623.87 m) не отображается текст auth basic
авторизация у мен в nginx , еслии с апачем та же беда то плохо... есть решение? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265425,265433#msg-265433 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Acept systemd.socket
Валентин Бартенев Wrote: --- > Это довольно странное желание - чтобы машина, которая по сути ещё не > готова > к работе, частично делала вид, что она готова принимать трафик. Что > вы будете > делать если nginx так и не заработает через 700 мс, а балансировщик > уже > радостно нальет на неё трафик? > > Почему вы считаете, что эти 700 мс куда-то теряются, хотя тем временем > они > могли бы быть обслужены живой машиной за меньшее время? > > А сколько секунд теряется на биос и загрузку ядра? В чем разница? > > Т.н. HA обеспечивается вовсе не такими методами. Больше похоже на > способ > тщательно разложить самому себе грабли у входа. Вы правы, это желания появилось, после нашей реализации активаций бекендов по systemd.socket, мне это так понравилось что захотел все перевести на systemd.socket, Nginx в том числе, но согласен практического смысла в этом мало. Вот как выкручиваются те кому это действительно надо https://developer.atlassian.com/blog/2015/03/docker-systemd-socket-activation/ Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265330,265496#msg-265496 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Возможна ли переадресация с /kolesa/index.php на /kolesa/
Ну это уже вам виднее, что там должно быть. Если у вас стоит index index.php, то оно и понятно. 2016-03-17 13:56 GMT+02:00 e.lodyanov: > Переадресация срабатывает, но сайт не грузится, пишет на странице > обнаружена > циклическая переадресация. > > Posted at Nginx Forum: > https://forum.nginx.org/read.php?21,265428,265437#msg-265437 > > ___ > 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: Возможна ли переадресация с /kolesa/index.php на /kolesa/
а с чем воюете? а то как-то index.php он дефолтный и в строке браузера и так не должен показываться 17 марта 2016 г., 13:56 пользователь e.lodyanovнаписал: > Переадресация срабатывает, но сайт не грузится, пишет на странице > обнаружена > циклическая переадресация. > > Posted at Nginx Forum: > https://forum.nginx.org/read.php?21,265428,265437#msg-265437 > > ___ > 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: error_page не работает
On Friday 18 March 2016 18:08:38 Иван Мишин wrote: > как заставить nginx отдавать 444 самому? так: > > > > server { > > listen 80; > > server_name php-info.club; > > access_log /var/log/nginx/php-info.club_access.log main; > >error_log /var/log/nginx/php-info.club_error.log error; > > proxy_set_header Host $host; > > proxy_set_header X-Real-IP $remote_addr; > > proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; > > error_page 404 /404e.html; > > location / { > > proxy_pass http://local; > > } > > location = /404e.html { > > return 444; > > } > > } > > [..] Необходимо разрешить перехватывать 404 от бекенда. Это делается с помощью директивы: proxy_intercept_errors on; -- Валентин Бартенев ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: nginx и lua
Hello! On Wed, Mar 16, 2016 at 09:30:04AM +0500, Илья Шипицин wrote: > а можете привести примеры сомнительности кода? Можно. Пример: https://github.com/openresty/lua-nginx-module/blob/master/src/ngx_http_lua_subrequest.c#L1437 Реимплиментирована с небольними изменениями функция ngx_http_subrequest(). Соответственно при любых сколько-нибудь затрагивающих работу подзапросов внутренних изменениях в nginx - будут проблемы. -- Maxim Dounin http://nginx.org/ ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
error_page не работает
Подскажите почему не работает директива error_page? Конфиг вроде верный. > server { > listen 80; > server_name php-info.club; > access_log /var/log/nginx/php-info.club_access.log main; >error_log /var/log/nginx/php-info.club_error.log error; > proxy_set_header Host $host; > proxy_set_header X-Real-IP $remote_addr; > proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; > location / { > proxy_pass http://local; > error_page 404 /404e.html; > } > location = /404e.html { > return 444; > } > } ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Буферизация fastcgi в файл. Почему?
Hello! On Wed, Mar 16, 2016 at 11:33:22AM +0300, Иван wrote: > В письме от 16 марта 2016 02:11:21 пользователь Maxim Dounin написал: > > Hello! > > > > On Wed, Mar 16, 2016 at 01:10:04AM +0300, Иван wrote: > > > Здравствуйте! > > > > > > Много про это написано, но, к сожалению, не могу понять следующий момент: > > > В локейшене, которые обрабатывает php есть директива > > > > > > fastcgi_buffers 32 4k; > > > > > > Итого ответ до 128к на диск писаться не должен. Тогда как в эррор-логе > > > регулярно проскакивает запись > > > > > > 2016/03/16 00:07:32 [warn] 6902#6902: *16095817 an upstream response is > > > buffered to a temporary file /var/lib/nginx/fastcgi/8/32/0002018328 while > > > reading upstream, client: 195.211.ХХ.ХХ, server: ХХХ, request: "GET > > > /admin/statistics/users/list/users HTTP/1.1", upstream: > > > "fastcgi://unix:/run/php-fpm.socket:", host: "ХХХ", referrer: > > > "https://ХХХ/admin/statistics/users/detail; > > > > > > Максимальный размер ответа nginx по запросу > > > /admin/statistics/users/list/users за сегодня был 46968 , судя по > > > access_log. Как такое может быть? Что я не учитываю? > > Размер ответа в access_log - уже после gzip-сжатия, если оно > > включено. Соответственно реальный размер ответа, возвращённого > > бекендом, может сильно отличаться в большую сторону. > > Спасибо. > > А есть возможность понять сколько реальный размер ответа? Мне немного претит > тыкать размеры буфферов наобум. http://nginx.org/r/$upstream_response_length/ru -- Maxim Dounin http://nginx.org/ ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: nginx и lua
16.03.2016 18:08, Валентин Бартенев пишет: Количество строк кода на Си в nginx: nginx $ sloccount src ansic: 121577 Количество строк кода на Си в lua-модуле для nginx (это только модуль, без самого lua-интерпретатора): lua-nginx-module $ sloccount src ansic:34276 т.е. объем одного lua-модуля превышает четверть nginx-а со всеми его 50+ модулями. Выводы каждый может сделать сам. вывод - много кода это плохо? Что мешает тогда взять этот код и почистить его как следует? Или это таки нужный код, который нельзя так выкинуть? И заодно весь софт, где больше миллиона строк, включая ядро линукса. А по делу - если есть код типа ngx_http_subrequest(), что мешает привести код в норму? Понимаю что хочу многого, но почему до сих пор нет нормальных лёгких _современных_ модулей? Желательно не js, очень он.. попахивает, луа лучше. Ну и хорошо бы, чтобы была предкомпиляция, чтобы код не интерпретировался при каждом запуске с нуля, это чересчур накладно. ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Возможна ли переадресация с /kolesa/index.php на /kolesa/
Если только один url то можно так location = /kolesa/index.php { return 301 $scheme://$server_name:$server_port/kolesa/; } 2016-03-17 12:52 GMT+02:00 e.lodyanov: > Привет от дилетантов в nginx. Подскажите, возможна ли переадресация с > /kolesa/index.php на /kolesa/? > Пробовал такой вариант, но не сработало: > server { > listen __.___.__.___:80; > server_name www.domen.ru/kolesa/index.php; > return 301 ^ http://domen.ru/kolesa/$request_uri? permanent; #301 redirect > } > Подскажите как сделать такую переадресацию. > > Posted at Nginx Forum: > https://forum.nginx.org/read.php?21,265428,265428#msg-265428 > > ___ > 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
http/2 + backend http/1.1
Доброго дня!Возник следующий вопрос. При использовании http/2 для клиентов и при этом работая с бэкендами по http/1.1, как происходит работа с соединениями к бэкенду?Насколько я знаю, http/1.1 по умолчанию задумывался как протокол работающий с keepalive.Nginx разбирая мультиплексированные запросы от клиента по http/2 создает по новому соединению к бэкенду для каждого запроса, или устанавливает одно TCP соединение и посылает все последующие запросы клиента по этому соединению? Речь идет о конфигурации такого типа: server {listen 80 http2; location / {set $backend "my.domain.com";proxy_pass http://$backend;proxy_http_version 1.1;proxy_set_header Connection "";}} Понятно, что в реальных условиях нужен ssl для http/2, но суть не в этом. Я умышленно не описал конфигурацию с upstream т.к. она не работает если иметь дело с dns именами, адреса которых могут меняться. И маленький вопрос оффтоп:Планируется ли в обозримом будущем добавить директиву resolve в upstream модуль для обычной версии nginx?Благодарю! ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: nginx и lua
On Thursday 17 March 2016 00:17:09 denis wrote: > 16.03.2016 18:08, Валентин Бартенев пишет: > > > > Количество строк кода на Си в nginx: > > > > nginx $ sloccount src > > > > ansic: 121577 > > > > Количество строк кода на Си в lua-модуле для nginx > > (это только модуль, без самого lua-интерпретатора): > > > > lua-nginx-module $ sloccount src > > > > ansic:34276 > > > > т.е. объем одного lua-модуля превышает четверть nginx-а > > со всеми его 50+ модулями. > > > > Выводы каждый может сделать сам. > вывод - много кода это плохо? Что мешает тогда взять этот код и > почистить его как следует? Или это таки нужный код, который нельзя так > выкинуть? И заодно весь софт, где больше миллиона строк, включая ядро > линукса. Совершенно верно, много кода это плохо, особенно если объем кода не соответствует сложности решаемой задачи. Больше кода означает больше ошибок, больше кода означает больше времени на поддержку этого кода, причем для плохо написанного кода, который дублирует различную функциональность, время на поддержку растет экспоненциально. > А по делу - если есть код типа ngx_http_subrequest(), что мешает > привести код в норму? Я уверен, что автор lua-модуля будет рад вашим патчам. > Понимаю что хочу многого, но почему до сих пор нет нормальных лёгких > _современных_ модулей? Желательно не js, очень он.. попахивает, луа > лучше. Ну и хорошо бы, чтобы была предкомпиляция, чтобы код не > интерпретировался при каждом запуске с нуля, это чересчур накладно. > Вы считаете, что существует востребованная ниша и точно знаете как правильно её заполнить. Так что же мешает этим заняться? Если вы желаете помочь разработке, но не имеете необходимых навыков, то самый лучший способ сделать это - оформить подписку на NGINX Plus. Ссылка тут: https://www.nginx.com/products/pricing/ -- Валентин Бартенев ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: error_page не работает
On Mar 18, 2016, at 3:07 PM, Иван Мишинwrote: > взглянул уже. Но это не мой случай. Самое интересное у меня в проде этих > error_page крутится целое множество. А на тестовом стенде не работает и все > тут. > Видимо, клиенту по прежнему уходит 404-й код (со всеми заголовками). : Кроме того, можно поменять код ответа на другой, : используя синтаксис вида “=ответ” См. http://nginx.org/r/error_page/ru. [..context lost to top posting] -- Sergey Kandaurov ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru