Re: nginx зависает - а поможет Varnish перед nginx?

2016-03-19 Пенетрантность dim1
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/

2016-03-19 Пенетрантность 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

Re: Возможна ли переадресация с /kolesa/index.php на /kolesa/

2016-03-19 Пенетрантность K.Konstantin
А зачем вы используете:

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/

2016-03-19 Пенетрантность e.lodyanov
Да, скорее всего есть. Нашел такую строчку:
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-19 Пенетрантность Alex Domoradov
Если дружите с перлом, можете на нем

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/

2016-03-19 Пенетрантность e.lodyanov
Хотел сделать переадресацию, чтобы людей не смущало наличие 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

2016-03-19 Пенетрантность 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

Re: http/2 + backend http/1.1

2016-03-19 Пенетрантность Den Bozhok
Понял, спасибо большое!
А что насчёт директивы 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

2016-03-19 Пенетрантность Илья Шипицин
а как будет сделать правильно?

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 не работает

2016-03-19 Пенетрантность 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

Re: http/2 + backend http/1.1

2016-03-19 Пенетрантность 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

Re: Acept systemd.socket

2016-03-19 Пенетрантность Валентин Бартенев
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 не работает

2016-03-19 Пенетрантность Иван Мишин
как заставить 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

2016-03-19 Пенетрантность Alex Domoradov
А при чем тут nginx? С apache такая же картина ;)

On Thu, Mar 17, 2016 at 9:52 AM, snike  wrote:

> Новый хром перестал отображать текст из параметра 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/

2016-03-19 Пенетрантность vitcool
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 не работает

2016-03-19 Пенетрантность Иван Мишин
взглянул уже. Но это не мой случай. Самое интересное у меня в проде этих
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

2016-03-19 Пенетрантность Илья Шипицин
у вас в секции 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

2016-03-19 Пенетрантность Anatoliy Korostelevm, NGENIX

Спасибо за развернутый ответ.

Однако передать 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

2016-03-19 Пенетрантность Alex Domoradov
Просто для общего развития. А что, для кого то 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 не работает

2016-03-19 Пенетрантность Иван Мишин
Да пробовал я уже такой вариант.
И даже такой пробовал

> 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

2016-03-19 Пенетрантность 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

Re: Acept systemd.socket

2016-03-19 Пенетрантность S.A.N
>  И более правильным, потому что независимо от чей-то любви к
> 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-доменов

2016-03-19 Пенетрантность Vadim A. Misbakh-Soloviov
Вроде бы подобное в листе уже пробегало, но, что-то, я не смог найти в
своих архивах.

В общем, я хотел бы спросить на счёт того, то товарищи разработчики
думают о том, чтобы добавить опциональную директиву при сборке для
линковки с 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

2016-03-19 Пенетрантность snike
Новый хром перестал отображать текст из параметра 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 в случае если закончилось место

2016-03-19 Пенетрантность Илья Шипицин
не так давно пробегал пример, как 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

2016-03-19 Пенетрантность Aleksandr Sytar
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

2016-03-19 Пенетрантность Илья Шипицин
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 не работает

2016-03-19 Пенетрантность 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

Re: nginx и lua

2016-03-19 Пенетрантность Maxim Dounin
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

2016-03-19 Пенетрантность Anatoliy Korostelevm, NGENIX

Здравствуйте!

Меня интересует возможность 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-доменов

2016-03-19 Пенетрантность Nick Knutov
А зачем это всё? Конфиги же генерируются не людьми, комментарии в 
конфигах никто не запрещал. Мы просто при перегенерации конфигов пишем 
строчку с комментом и всё удобно (да и остальную информацию для отладки 
сборки конфигов все равно приходится писать)


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 в случае если закончилось место

2016-03-19 Пенетрантность Иван Мишин
Добрый день!

Вопрос следующий:
Есть 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/

2016-03-19 Пенетрантность e.lodyanov
Таак. И как же это должно быть прописано? И где?

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

2016-03-19 Пенетрантность Дмитрий Андреев
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

2016-03-19 Пенетрантность Валентин Бартенев
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, Си)

2016-03-19 Пенетрантность Maxim Dounin
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

2016-03-19 Пенетрантность Maxim Konovalov
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

2016-03-19 Пенетрантность Maxim Konovalov
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, Си)

2016-03-19 Пенетрантность rba
Вводная: 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

2016-03-19 Пенетрантность 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

Re: Acept systemd.socket

2016-03-19 Пенетрантность S.A.N
Валентин Бартенев 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/

2016-03-19 Пенетрантность Alex Domoradov
Ну это уже вам виднее, что там должно быть. Если у вас стоит 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/

2016-03-19 Пенетрантность Vasiliy P. Melnik
а с чем воюете? а то как-то 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 не работает

2016-03-19 Пенетрантность Валентин Бартенев
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

2016-03-19 Пенетрантность 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

error_page не работает

2016-03-19 Пенетрантность Иван Мишин
Подскажите почему не работает директива 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 в файл. Почему?

2016-03-19 Пенетрантность Maxim Dounin
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

2016-03-19 Пенетрантность denis

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/

2016-03-19 Пенетрантность Alex Domoradov
Если только один 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

2016-03-19 Пенетрантность Den Bozhok
Доброго дня!Возник следующий вопрос. При использовании 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

2016-03-19 Пенетрантность Валентин Бартенев
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 не работает

2016-03-19 Пенетрантность 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