Re: PUT & access_by_lua_file
PS: У меня дежавю. прецедент вспомнился подобная тема обсуждалась в годах 1995 в fido-конференции по ifcico. Актуальность подобных холостых передач там была очень высокая, из за ограниченного кол-ва каналов передачи, их низких скоростей и высокой стоимости.. как результат реализовали обрыв подобных сессий для предотвращения излишних затрат и освобождения линий. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,258069,258137#msg-258137 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Как настроить редирект www, http, https между разными доменами
Михаил спасибо за ваш ответ. Но к сожалению ничего не изменилось( Как последний вариант убрать редирект через nginx и настроить его через htaccess Posted at Nginx Forum: http://forum.nginx.org/read.php?21,258108,258139#msg-258139 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
limit conn счетчик переполнение
Добрый день. Была задача ограничить кол-во запросов к бэкенду. Например, чтобы одновременно не поступало более 1 запроса. Остальные запросы, пока работает бэкенд, могли отваливаться по ошибке, это не страшно. С помощью Perl я устанавливал переменную, которая показывала идет ли запрос для проксирования на бэкенд или нет. И эту переменную использовал в качестве ключа для http://nginx.org/ru/docs/http/ngx_http_limit_conn_module.html#limit_conn_zone perl_set $service_hit ' sub { my $r = shift; if($r->uri =~ m|^/services/post|){ return "services"; } else { return ""; } } '; limit_conn_zone "$service_hit" zone=perservice:10m; Потом перед проксированием на бэкенд (в location) использовал ограничениие http://nginx.org/ru/docs/http/ngx_http_limit_conn_module.html#limit_conn limit_conn perservice 1; Все отлично работает, но только первые 30-60 минут, потом nginx для всех запросов возвращает 503 ошибку, т.е. счетчик не сбрасывается. Если остановить-запустить nginx, то опять какое-то время все работает корректно. В чем может быть проблема? Спасибо. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,258140,258140#msg-258140 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: PUT & access_by_lua_file
А вы, всё-таки, ответьте, пожалуйста, на вопрос, почему вы не хотите убрать PUT из OPTIONS? ;) -- Best regards, mva signature.asc Description: This is a digitally signed message part. ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Как настроить редирект www, http, https между разными доменами
В письме от Пт, 17 апреля 2015 03:37:41 пользователь RavilK написал: > Михаил спасибо за ваш ответ. > Но к сожалению ничего не изменилось( А Вы точно перезагружали NginX? И, если на сервере вместо операционной систмы Debian или RH/копейка (не уверен на счёт RHEL/CentOS, но там тоже могли извратиться с conf.avail), то точно ли конфиг вируального хоста загружается NginX'ом? :) > Как последний вариант убрать редирект через nginx и настроить его через > htaccess А зачем вам тогда NginX, если вы всё делаете на Apache? ;) // вообще, я бы спросил зачем вам вообще Apache как таковой, но это будет уже холиваром :) -- Best regards, mva signature.asc Description: This is a digitally signed message part. ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: PUT & access_by_lua_file
если клиент говорит "Expect: 100-Continue", то в этом случае вы можете ему сказать 405 сразу (или ответить 100-м кодом). без этого хедера - да, ответить можно, только получив запрос полностью 17 апреля 2015 г., 11:13 пользователь Vadim A. Misbakh-Soloviov написал: > В письме от Пт, 17 апреля 2015 02:07:33 пользователь itcod написал: >> Илья добрый день! >> >> >>вы сами клиенту сказали, что поддерживаете PUT, он делает PUT, вы его >> >> фейлите. >> прикиньте, как клиент расстраивается от такого расклада )) >> >> Это спорный вопрос расстраивается или просто некоректна логика обработки >> ответов от сервера в данной точке программы клиента:) Если бы nginx сразу на >> PUT ответил 405 (Method Not Allowed), то все некорректности по обработке >> кода ответа можно было бы свалить на клиента, и оповестить их разработчика. >> > > Дело в том, что, на сколько я понил проблему при описании с ваших слов, со > стороны NginX всё корректно. На PUT он отвечает "нельзя" сразу по получении > (т.е. по окончании) *запроса*. > А отвечать "нельзя" по получении одного лишь заголовка, не дожидаясь тела — > неправильно. > > -- > Best regards, > mva > > ___ > 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: Как настроить редирект www, http, https между разными доменами
> > Михаил спасибо за ваш ответ. > Но к сожалению ничего не изменилось( > Как последний вариант убрать редирект через nginx и настроить его через > htaccess Я Иван, а не Михаил ) Раз уж совсем ничего не изменилось, то предполагаю что вы nginx не релоудили ) 17 апреля 2015 г., 13:43 пользователь Vadim A. Misbakh-Soloviov < m...@mva.name> написал: > В письме от Пт, 17 апреля 2015 03:37:41 пользователь RavilK написал: > > Михаил спасибо за ваш ответ. > > Но к сожалению ничего не изменилось( > А Вы точно перезагружали NginX? > И, если на сервере вместо операционной систмы Debian или RH/копейка (не > уверен > на счёт RHEL/CentOS, но там тоже могли извратиться с conf.avail), то точно > ли > конфиг вируального хоста загружается NginX'ом? :) > > > Как последний вариант убрать редирект через nginx и настроить его через > > htaccess > А зачем вам тогда NginX, если вы всё делаете на Apache? ;) > > > > // вообще, я бы спросил зачем вам вообще Apache как таковой, но это будет > уже > холиваром :) > > > -- > Best regards, > mva > > ___ > 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: Как настроить редирект www, http, https между разными доменами
Прошу прощения Иван! Спасибо ща помощь! Я пробовал уже и такое: server { listen 80; server_name www.club.site.com clubsite.com www.clubsite.com; return 301 https://club.site.com$request_uri; } и в .htaccess RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ https://%1/$1 [R=301,L] и такое RewriteCond %{HTTP_HOST} ^www.clubsite.com$ [NC,OR] RewriteCond %{HTTP_HOST} ^clubsite.com$ [NC] RewriteRule (.*) https://club.site.com/$1 [R=301,L] Еще раз просмотрел все конфиг файлы и не нашел где наcтроенно перенаправление c www.clubsite.com и www.club.site.com на web.site.com Где может быть еще трабл? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,258108,258145#msg-258145 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Как настроить редирект www, http, https между разными доменами
Вы выложили полный конфиг nginx ? если нет то выкладывайте целиком, все локейшены 17 апреля 2015 г., 14:56 пользователь RavilK написал: > Прошу прощения Иван! > Спасибо ща помощь! > > Я пробовал уже и такое: > > server { > listen 80; >server_name www.club.site.com clubsite.com www.clubsite.com; >return 301 https://club.site.com$request_uri; > } > > и в .htaccess > RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] > RewriteRule ^(.*)$ https://%1/$1 [R=301,L] > > и такое > > RewriteCond %{HTTP_HOST} ^www.clubsite.com$ [NC,OR] > RewriteCond %{HTTP_HOST} ^clubsite.com$ [NC] > RewriteRule (.*) https://club.site.com/$1 [R=301,L] > > Еще раз просмотрел все конфиг файлы и не нашел где наcтроенно > перенаправление c www.clubsite.com и www.club.site.com на web.site.com > Где может быть еще трабл? > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,258108,258145#msg-258145 > > ___ > 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: PUT & access_by_lua_file
mva добрый день >>А вы, всё-таки, ответьте, пожалуйста, на вопрос, почему вы не хотите убрать PUT из OPTIONS? ;) уберу когда научусь это делать. корректировку анонсов доступных методов из луа я буду делать в эти выходные. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,258069,258147#msg-258147 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: PUT & access_by_lua_file
Илья добрый день. >> если клиент говорит "Expect: 100-Continue", то в этом случае вы можете ему сказать 405 сразу (или ответить 100-м кодом). Спасибо Илья. Понял принцип. >>без этого хедера - да, ответить можно, только получив запрос полностью Нескромный вопрос так и оставим существовать эту PUT дырку? пока кого нибудь не заклюеет жареный петух Posted at Nginx Forum: http://forum.nginx.org/read.php?21,258069,258148#msg-258148 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: PUT & access_by_lua_file
В письме от Пт, 17 апреля 2015 08:36:39 пользователь itcod написал: > > Нескромный вопрос так и оставим существовать эту PUT дырку? > пока кого нибудь не заклюеет жареный петух Ну, у меня на сервере с отключенным PUT, например, 405+400 выбрасывается сразу, не получая содержимое файла. Другое же дело, когда метод фигурирует в разрешённых у сервера на более низком уровне (module_http_dav) и рулится уже в access-модуле (да ещё и в ngx_lua, что ещё дальше) ;) Т.е. ситуация такая: DAV-модуль говорит серверу, что он готов получать и обрабатывать PUT. Сервер, следовательно, считает PUT валидным запросом. Следовательно, когда приходит PUT — он получает запрос целиком (до этого момента он валиден) и только потом, получив запрос, целиком отдаёт его дальше по цепочке в модули. Поэтому в руках ngx_lua (в access-директиве) оказывается запрос целиком. Да и в обычном, емнип, access-модуле, тоже обработка происходит ПОСЛЕ получения запроса, а не на этапе заголовков :) -- Best regards, mva signature.asc Description: This is a digitally signed message part. ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: limit conn счетчик переполнение
Hello! On Fri, Apr 17, 2015 at 06:06:49AM -0400, dwow wrote: > Добрый день. > > Была задача ограничить кол-во запросов к бэкенду. Например, чтобы > одновременно не поступало более 1 запроса. Остальные запросы, пока работает > бэкенд, могли отваливаться по ошибке, это не страшно. > С помощью Perl я устанавливал переменную, которая показывала идет ли запрос > для проксирования на бэкенд или нет. И эту переменную использовал в качестве > ключа для > http://nginx.org/ru/docs/http/ngx_http_limit_conn_module.html#limit_conn_zone > > perl_set $service_hit ' > sub { > my $r = shift; > if($r->uri =~ m|^/services/post|){ > return "services"; > } else { > return ""; > } > } > '; > limit_conn_zone "$service_hit" zone=perservice:10m; Just a side note: не надо делать так, вместо этого правильно написать отдельный location, в котором и задать ограничение. > Потом перед проксированием на бэкенд (в location) использовал ограничениие > http://nginx.org/ru/docs/http/ngx_http_limit_conn_module.html#limit_conn > > limit_conn perservice 1; > > Все отлично работает, но только первые 30-60 минут, потом nginx для всех > запросов возвращает 503 ошибку, т.е. счетчик не сбрасывается. Если > остановить-запустить nginx, то опять какое-то время все работает корректно. > В чем может быть проблема? Скорее всего проблема в том, что limit_conn органичивает не соединения на бекенду, а активные соединения. Соответственно, если кто-то сходил на бекенд, получил оттуда достаточно большой ответ и неспеша забирает его у nginx'а - ограничение будет продолжать срабатывать. Например, если клиент сделал запрос (ответ на который не помещается в буфер сокета), после чего пропал и на пакеты не отвечает - ограничение будет срабатывать, пока не случится send_timeout. -- Maxim Dounin http://nginx.org/ ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: PUT & access_by_lua_file
mva добрый день ещё раз:) >>Ну, у меня на сервере с отключенным PUT, например, 405+400 >>выбрасывается сразу, не получая содержимое файла. А у вас это в динамике или статично прописана блокировка? если динамично поделитесь идеей плиззз... >> Другое же дело, когда метод фигурирует в разрешённых у сервера на более низком >> уровне (module_http_dav) Я пытался решить задачку на этом уровне... мня предложили порешать её в этой точке :))) http://forum.nginx.org/read.php?21,258024,258045#msg-258045 >> и рулится уже в access-модуле (да ещё и в ngx_lua, что ещё дальше) ;) А куда деваться я пробовал решить её на иных уровнях... а там переменные конфг не поддерживает и потому динамику не организовать >>Т.е. ситуация такая: >> DAV-модуль говорит серверу, что он готов получать и обрабатывать PUT. >> Сервер, следовательно, считает PUT валидным запросом. mva можно подробнее!!! Вы хотите сказать, что если я в хидерах укажу что PUT запрещён - то nginx откажется принимать тело если поймает на входе PUT? И это произойдёт вне зависимости, будет клиент послушным мальчиком, или будет пихать пальцы во все дырки... не обращая вниание на анонсы nginx??? ВЫ В ЭТОМ УВЕРЕНЫ? Разработчика бы услышать. по этому вопросу правда ли блокирнёт или опять день на тесты выкидывать чтобы понять текущую логику поведения. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,258069,258151#msg-258151 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: PUT & access_by_lua_file
ЗЫ >>Т.е. ситуация такая: >> DAV-модуль говорит серверу, что он готов получать и обрабатывать PUT. >> Сервер, следовательно, считает PUT валидным запросом. а ваш коментарий про OPTIONS и PUT а если я из lua попытаюсь изменить OPTIONS то PUT для DAV-модуля будет инвалидным. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,258069,258152#msg-258152 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: limit conn счетчик переполнение
Maxim Dounin Wrote: --- > Just a side note: не надо делать так, вместо этого правильно > написать отдельный location, в котором и задать ограничение. вот это я не понял. у меня так location /services/post/ { limit_conn perservice 1; proxy_pass bakcend; } > Скорее всего проблема в том, что limit_conn органичивает не > соединения на бекенду, а активные соединения. Соответственно, > если кто-то сходил на бекенд, получил оттуда достаточно большой > ответ и неспеша забирает его у nginx'а - ограничение будет > продолжать срабатывать. Например, если клиент сделал запрос > (ответ на который не помещается в буфер сокета), после чего пропал > и на пакеты не отвечает - ограничение будет срабатывать, пока не > случится send_timeout. Ага, и тогда через send_timeout (default: 60s), счетчик должен декрементироваться и следующий запрос пойти на бекенд, так? Но этого не происходит( Posted at Nginx Forum: http://forum.nginx.org/read.php?21,258150,258154#msg-258154 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: limit conn счетчик переполнение
Hello! On Fri, Apr 17, 2015 at 09:15:21AM -0400, dwow wrote: > Maxim Dounin Wrote: > --- > > > Just a side note: не надо делать так, вместо этого правильно > > написать отдельный location, в котором и задать ограничение. > > вот это я не понял. > > у меня так > location /services/post/ { >limit_conn perservice 1; >proxy_pass bakcend; > } Тогда зачем у вас используется perl_set? Если limit_conn в других location'ах не включён, то для ограничения всех соединений в конкретном location'е - достаточно любого константного значения. > > Скорее всего проблема в том, что limit_conn органичивает не > > соединения на бекенду, а активные соединения. Соответственно, > > если кто-то сходил на бекенд, получил оттуда достаточно большой > > ответ и неспеша забирает его у nginx'а - ограничение будет > > продолжать срабатывать. Например, если клиент сделал запрос > > (ответ на который не помещается в буфер сокета), после чего пропал > > и на пакеты не отвечает - ограничение будет срабатывать, пока не > > случится send_timeout. > > Ага, и тогда через send_timeout (default: 60s), счетчик должен > декрементироваться и следующий запрос пойти на бекенд, так? Но этого не > происходит( Если send_timeout случится - то да. Если же вдруг какой-то клиент очерь медленно качает что-то большое - то процесс может занять бесконечное время. Ну и да, безусловно имеет смысл заглянуть в error log, и убедится, что рабочие процессы не завершаются аварийно. -- Maxim Dounin http://nginx.org/ ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: PUT & access_by_lua_file
проверил Access-Control-Allow-Methods - проблема сохранилась nginx разрешает заливать в себя сколько влезет BitKinex - послал PROPFIND nginx - ответил Access-Control-Allow-Methods: GET BitKinex - игнорировал хидер и инициировал PUT nginx - разрешил PUT и получил файл [lua] блокировал его размещение HTTP/1.1 405 Not Allowed :( Resolving host name "dav.example.com" ... Connecting ( home.itcod.com => ip: 10.1.1.1, port: 80 ) Connected (10.1.1.1:80) <<< PROPFIND / HTTP/1.1 <<< Host: home.itcod.com <<< User-Agent: BitKinex/3.2.3 <<< Accept: */* <<< Pragma: no-cache <<< Cache-Control: no-cache <<< Depth: 1 <<< Content-Length: 220 <<< Content-Type: text/xml <<< Authorization: Basic блаблабла== >>> HTTP/1.1 207 Multi-Status >>> Server: nginx/0.8.54 >>> Date: Fri, 17 Apr 2015 15:01:13 GMT >>> Content-Type: application/octet-stream >>> Transfer-Encoding: chunked >>> Connection: keep-alive >>> Access-Control-Allow-Methods: GET <<< PUT /IMG_20150414_184225.jpg HTTP/1.1 <<< Host: home.itcod.com <<< User-Agent: BitKinex/3.2.3 <<< Accept: */* <<< Pragma: no-cache <<< Cache-Control: no-cache <<< Content-Length: 696983 <<< Content-Type: application/octet-stream <<< Translate: f <<< Authorization: Basic блаблабла== >>> HTTP/1.1 405 Not Allowed >>> Server: nginx/0.8.54 >>> Date: Fri, 17 Apr 2015 15:01:19 GMT >>> Content-Type: text/html >>> Connection: keep-alive >>> Content-Length: 173 Connection closed Posted at Nginx Forum: http://forum.nginx.org/read.php?21,258069,258158#msg-258158 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: limit conn счетчик переполнение
Maxim Dounin Wrote: --- > Если limit_conn в других location'ах не включён, то для > ограничения всех соединений в конкретном location'е - достаточно > любого константного значения. Если не используется в др. локейшенах, то можно сделать вот так: limit_conn_zone "service" zone=perservice:10m; location /services/post/ { limit_conn perservice 1; proxy_pass bakcend; } и будет работать? > Если send_timeout случится - то да. Если же вдруг какой-то клиент > очерь медленно качает что-то большое - то процесс может занять > бесконечное время. и как от таких избавляться? > Ну и да, безусловно имеет смысл заглянуть в error log, и убедится, > что рабочие процессы не завершаются аварийно. ошибок нет. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,258150,258159#msg-258159 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: limit conn счетчик переполнение
Hello! On Fri, Apr 17, 2015 at 12:28:03PM -0400, dwow wrote: > Maxim Dounin Wrote: > --- > > Если limit_conn в других location'ах не включён, то для > > ограничения всех соединений в конкретном location'е - достаточно > > любого константного значения. > > Если не используется в др. локейшенах, то можно сделать вот так: > limit_conn_zone "service" zone=perservice:10m; > location /services/post/ { >limit_conn perservice 1; >proxy_pass bakcend; > } > > и будет работать? Да. В старых версиях (до nginx 1.7.6), возможно, потребуется какая-нибудь константная переменная (например, $nginx_version), а не просто строка. > > Если send_timeout случится - то да. Если же вдруг какой-то клиент > > очерь медленно качает что-то большое - то процесс может занять > > бесконечное время. > и как от таких избавляться? В общем случае - никак, это обычные клиенты, которые просто получают ответ. Собственно, как раз одно из преимуществ nginx'а состоит в том, что он умеет таких клиентов эффективно обслуживать, тратя на это минимум ресурсов. Ну и ограничивать с помощью директивы limit_conn, не давая захватить слишком много ресурсов сервера. В вашем случае - проблема в том, что вы пытаетесь limit_conn применить не по назначению, и такое использование приводит к тому, что один медленный пользователь может легко заблокировать доступ всем остальным. -- Maxim Dounin http://nginx.org/ ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: limit conn счетчик переполнение
On 17.04.2015 19:28, dwow wrote: >>> Была задача ограничить кол-во запросов к бэкенду. >>> Например, чтобы одновременно не поступало более 1 запроса. Если же вдруг какой-то клиент очерь медленно качает что-то большое - то процесс может занять бесконечное время. и как от таких избавляться? 1) купить платную версию NGINX Plus, там есть max_conns=number http://nginx.org/en/docs/http/ngx_http_upstream_module.html 2) поставить между клиентом [или nginx] и бэкендом haproxy - haproxy умеет это делать прямо из коробки: https://cbonte.github.io/haproxy-dconv/configuration-1.5.html#5.2-maxconn -- Best regards, Gena ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: PUT & access_by_lua_file
Упростил схему. 1. из dav_methods изъял PUT 2. отключил луа авторизатор тестил BitKinex'ом Результат: метод PUT не блокирует nginx, хотя он запрещён в модуле DAV. то есть всё как было. сначало принимаем большой файл, а потом говорим, что нам этого нельзя. server { listen 80; server_name dav.example.com; server_name_in_redirect off; access_log /var/log/nginx/dav-access.log main; location / { access_by_lua_file /etc/nginx/lua/auth-dav1.lua; dav_methods DELETE COPY MOVE; dav_ext_methods PROPFIND OPTIONS; create_full_put_path on; dav_access user:rw group:rw; client_body_temp_path /opt/itcod-dav.tmp/; client_max_body_size 0; autoindex on; root /opt/home/; } location ~/\.ht { deny all; } } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,258069,258162#msg-258162 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: PUT & access_by_lua_file
добавил в location конструкцию if ($request_method = PUT) { return 403; } по прежнему PUT прокачивает холостые гигобайты трафика! :( Буду рад мыслям сообщества! какими ещё существующими средствами nginx, можно всё таки прекратить такое "сверхлояльное" поведение nginx с настырными PUT'анами:))) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,258069,258163#msg-258163 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: PUT & access_by_lua_file
хотите совет? поставьте CEPH в качестве упражнения, ваши манипуляции с DAV выглядят вполне симпатично. для продакшена распределенный кластер CEPH/S3 (по сути тот же http-доступ) более крут. клиентов S3 не меньше, чем DAV документации полно, она хорошего качества, http://habrahabr.ru/company/performix/blog/218065/ 17 апреля 2015 г., 17:36 пользователь itcod написал: > Илья добрый день. >>> если клиент говорит "Expect: 100-Continue", то в этом случае вы можете > ему сказать 405 сразу (или ответить 100-м кодом). > Спасибо Илья. Понял принцип. > >>>без этого хедера - да, ответить можно, только получив запрос полностью > Нескромный вопрос так и оставим существовать эту PUT дырку? > пока кого нибудь не заклюеет жареный петух > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,258069,258148#msg-258148 > > ___ > 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: PUT & access_by_lua_file
Yesterday Apr 17, 2015 at 11:12 itcod wrote: > Resolving host name "dav.example.com" ... > Connecting ( home.itcod.com => ip: 10.1.1.1, port: 80 ) > Connected (10.1.1.1:80) > <<< PROPFIND / HTTP/1.1 > <<< Host: home.itcod.com > >>> HTTP/1.1 207 Multi-Status > >>> Server: nginx/0.8.54 Заметил древнюю версию и сделал аналогичный запрос, а в теле ответа другая: 401 Authorization Required nginx/1.7.11 У Вас один nginx за другим nginx? Если да, то первый полностью принимает запрос и лишь после этого отправляет его второму, а тот возвращает 405. -- WNGS-RIPE ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: PUT & access_by_lua_file
Добрый день Александр! Да там получается пара друг за дугом. Фронт старичёк Ура!!! Вы совершенно правы!!! Обратился BitKinex к внутреннему Он обрывает PUT сразу!!! <<< PUT /IMG_20150414_184225.jpg HTTP/1.1 <<< Host: home.virtual.ko:7070 <<< User-Agent: BitKinex/3.2.3 <<< Accept: */* <<< Pragma: no-cache <<< Cache-Control: no-cache <<< Content-Length: 696983 <<< Content-Type: application/octet-stream <<< Translate: f <<< Authorization: Basic блаблабла== >>> HTTP/1.1 405 Not Allowed >>> Server: nginx/1.7.11 >>> Date: Sat, 18 Apr 2015 05:25:34 GMT >>> Content-Type: text/html >>> Content-Length: 173 >>> Connection: keep-alive Connection closed Спасибо огромное Надо покурить эту инфу... Posted at Nginx Forum: http://forum.nginx.org/read.php?21,258069,258178#msg-258178 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: PUT & access_by_lua_file
>> поставьте CEPH Илья спасибо:) хороший совет:) Наверное интересный софт. я его обязательно погрызу на досуге На всё время нужно... Для WEBDAV, я знаю на следующие этапы JS и Perl либы а S3, это всё с нуля. В умке по S3 шаром покати... ток амазон и всплывает:) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,258069,258179#msg-258179 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru