Picon
Gravatar

Неверно устанавливается $request_uri :( . Nginx/0.8.33 + FastCGI + ZendFramework + SSI

Особенность работы Zend Framework: при запросе любого адреса
происходит локальный редирект на index.php,
информация о том какая именно страница
запрашивалась берется из
переменной окружения REQUEST_URI.

Описание проблемы: при запросе любой страницы вида
/index/mypage все
работает нормально на конфигурации, приведенной
ниже. Но если я делаю
отдельный контроллером блоки, которые хочу
встравить через SSI
инструкцию вида <!--# include virtual="/blocks/someblock" -->, то
вместо того чтоб в REQUEST_URI получить "/blocks/someblock" я получаю
"/index/mypage" (адрес страницы, из которой вызываются SSI-инструкции)

Подскажите как можно эту проблему решить?

server {
        listen       80;
        server_name  zfproject;

        root   /var/www/zfproject/public;
        ssi on;

        location ~ /(img|css|js|assets) {
                expires 1h;
        }

        location / {
(Continue reading)

Maxim Dounin | 1 Mar 17:46
Picon

Re: проблема с satisfy any;

Hello!

On Fri, Sep 18, 2009 at 02:08:12PM +0300, Andrew Sitnikov wrote:

[...]

> IS> Как выглядит лог без satisfy и deny, но с ошибкой в auth в районе
> IS>     access phase

[...]

> 2009/09/18 14:07:31 [debug] 15675#0: *2 generic phase: 6
> 2009/09/18 14:07:31 [debug] 15675#0: *2 generic phase: 7
> 2009/09/18 14:07:31 [debug] 15675#0: *2 access phase: 8
> 2009/09/18 14:07:31 [debug] 15675#0: *2 access phase: 9
> 2009/09/18 14:07:31 [debug] 15675#0: *2 access phase: 10

[дабы не потерялось]

Судя по debug log'у, используется 3rd party модуль в access phase.  
И судя по поведению при satisfy any; - этот модуль возвращает 
NGX_OK вместо NGX_DECLINED не будучи сконфигурирован.

Oleksandr V. Typlyns'kyi (обративший моё внимание на этот уже 
довольно старый тред) любезно посмотрел список
модулей у себя, 
и описанная проблема была обнаружена в модуле accesskey by
Mykola 
Grechukh (в CC).

(Continue reading)

Picon

Re: Неверно устанавливается $request_uri :( . Nginx/0.8.33 + FastCGI + ZendFramework + SSI


я бы переписал ZendController 
было бы эффективнее в 10 раз.
мне там много что не нравится, так как он (Zend Framework)
проектировался под аппач. 

> Особенность работы Zend Framework: при запросе любого адреса
> происходит локальный редирект на index.php,
> информация о том какая именно страница
запрашивалась берется из
> переменной окружения REQUEST_URI.
> 
> Описание проблемы: при запросе любой страницы вида
/index/mypage все
> работает нормально на конфигурации, приведенной
ниже. Но если я делаю
> отдельный контроллером блоки, которые хочу
встравить через SSI
> инструкцию вида <!--# include virtual="/blocks/someblock" -->, то
> вместо того чтоб в REQUEST_URI получить "/blocks/someblock" я получаю
> "/index/mypage" (адрес страницы, из которой вызываются SSI-инструкции)
> 
> Подскажите как можно эту проблему решить?
> 
> server {
>         listen       80;
>         server_name  zfproject;
> 
>         root   /var/www/zfproject/public;
>         ssi on;
(Continue reading)

Picon

Re: X-Accel-Redirect + flv_module



19 февраля 2010 г. 12:36 пользователь Igor Sysoev <igor <at> sysoev.ru> написал:
On Thu, Feb 18, 2010 at 06:51:54PM +0300, Владимир Лощин wrote:

>   Очень хочу сделать маленький видео сервис с псевдо-flv-стримингом видео,
> но при том, очень хочется, чтобы расхищался недобросовестными личерами,
> которые создают изрядную нагрузку на сервер. На сколько я понимаю, при
> обработке заголовка X-Accel-Redirect, nginx уже закончил разбор параметров
> HTTP запроса, поэтому передать параметр start=XXX нет уже никакой
> возможности.
>
>   Есть ли какое-нибудь универсальное решение по убийству двух зайцев:
>
>    1. Псевдо-стриминг
>    2. Защита контента
>
>   Спасибо за внимание.

Нужно передавать X-Accel-Redirect вместе с оригинальным start=XXX.

 Это правильный ответ. В моём скрипте, в коде формирования URL-а закралась синтаксическая ошибка, которую я не разглядел сразу. А всё было проще простого. 

_______________________________________________
nginx-ru mailing list
nginx-ru <at> nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Valery Kholodkov | 1 Mar 20:55
Picon
Favicon

upload module 2.0.12


Приветствую!

Изменения в версии 2.0.12:
  * Исправлена ошибка: keepalive-соединения зависали после
завершения 
загрузки;
  * Изменение: если метод запроса отличается от POST то
модуль возращает 
ошибку 405.

Последнее изменение позволяет обработать не-POST
запросы в 
альтернативном локейшене:

location /upload {
     upload_pass @a;

     [...]

     error_page 405  =  @non_post_request;
}

location @non_post_request {
     # process non-POST requests here

     [...]
}

Подробнее на этой странице:
http://www.grid.net.ru/nginx/upload.ru.html

--

-- 
Best regards,
Valery Kholodkov

_______________________________________________
nginx-ru mailing list
nginx-ru <at> nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
enikesha | 2 Mar 11:22
Picon

ngx http ssl module: клиентские сертификаты

Приветствую!

При использовании клиентских сертификатов,
подписанных алгоритмом sha256WithRSAEncryption при попытке
установки соединения nginx рвет его с ошибкой в логе:

SSL_do_handshake() failed (SSL: error:0D0C50A1:asn1 encoding routines:ASN1_item_verify:unknown
message digest algorithm) while SSL handshaking

Где-то в интернете наткнулся на информацию, что OpenSSL
при стандартной инициализации подключает не все
алгоритмы, и нужно отдельно вызывать
OpenSSL_add_all_algorithms(). Собственно, после этого все заработало:

--- nginx-0.8.31/src/event/ngx_event_openssl.c  2009-11-23 17:09:57.000000000 +0300
+++ nginx-my/src/event/ngx_event_openssl.c      2010-02-06 16:04:14.871090623 +0300
@@ -106,6 +106,8 @@

     ENGINE_load_builtin_engines();

+    OpenSSL_add_all_algorithms();
+
     ngx_ssl_connection_index = SSL_get_ex_new_index(0, NULL, NULL, NULL, NULL);

     if (ngx_ssl_connection_index == -1) {

--- nginx-0.8.31/src/event/ngx_event_openssl.h  2009-11-11 13:59:07.000000000 +0300
+++ nginx-my/src/event/ngx_event_openssl.h      2010-02-06 16:00:43.691095715 +0300
@@ -15,6 +15,7 @@
 #include 
 #include 
 #include 
+#include 

 #define NGX_SSL_NAME     "OpenSSL"

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,58969,58969#msg-58969

_______________________________________________
nginx-ru mailing list
nginx-ru <at> nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Alex Loskutov | 2 Mar 12:45
Picon

proxy_cache для запросов POST

Это немного странно, но мне хотелось бы уметь
кешировать при помощи
proxy_cache ответы не только на GET запросы, но и на POST.
При этом тело POST не имеет значения, все нужные
параметры содержатся в URI.
Можно даже изменять метод на GET, игнорируя POST-данные, а дальше
обрабатывать как остальные GET запросы.
Подскажите, пожалуйста, какой-нибудь способ это сделать.

Такие у меня странные клиенты и переделать их сложно.

--
С уважением,
Алексей Лоскутов
_______________________________________________
nginx-ru mailing list
nginx-ru <at> nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Picon
Favicon

помогите переделать rewrite

Помогите, пожалуйста, переделать rewrite-правила от
.htaccess под nginx
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^view_(.*).htm$ view.php?pg=$1

_______________________________________________
nginx-ru mailing list
nginx-ru <at> nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Picon
Gravatar

Re: Неверно устанавливается $request_uri :( . Nginx/0.8.33 + FastCGI + ZendFramework + SSI

2010/3/1 Alexandre Kalendarev <akalend <at> mail.ru>:

Экспериментальным путем нашел выход, может кому пригодиться:

server {
        listen       80;
        server_name  zfproject;
        charset utf-8;

        root   /var/www/zfproject/public;
        ssi on;

        location ~ /(img|css|js|assets) {
                #access_log  off;
                access_log  /var/log/nginx/zfproject_img_access.log main;
                expires 1h;
        }

        location / {
                access_log  /var/log/nginx/zfproject_main_access.log main;
                error_log  /var/log/nginx/zfproject_error.log;
                set $_request_uri $fastcgi_script_name;

                rewrite  ^(.*)$  /index.php last;
                break;
        }

        location /index.php {
                fastcgi_pass 127.0.0.1:7777;
                fastcgi_param   APPLICATION_ENV development;
                include /etc/nginx/fastcgi.conf;
                fastcgi_param  REQUEST_URI       $_request_uri;
        }
}

> я бы переписал ZendController
> было бы эффективнее в 10 раз.
> мне там много что не нравится, так как он (Zend Framework)
проектировался под аппач.
>
>
>> Особенность работы Zend Framework: при запросе любого адреса
>> происходит локальный редирект на index.php,
>> информация о том какая именно страница
запрашивалась берется из
>> переменной окружения REQUEST_URI.
>>
>> Описание проблемы: при запросе любой страницы вида
/index/mypage все
>> работает нормально на конфигурации, приведенной
ниже. Но если я делаю
>> отдельный контроллером блоки, которые хочу
встравить через SSI
>> инструкцию вида <!--# include virtual="/blocks/someblock" -->, то
>> вместо того чтоб в REQUEST_URI получить "/blocks/someblock" я получаю
>> "/index/mypage" (адрес страницы, из которой вызываются SSI-инструкции)
>>
>> Подскажите как можно эту проблему решить?
>>
>> server {
>>         listen       80;
>>         server_name  zfproject;
>>
>>         root   /var/www/zfproject/public;
>>         ssi on;
>>
>>         location ~ /(img|css|js|assets) {
>>                 expires 1h;
>>         }
>>
>>         location / {
>>                 rewrite  ^(.*)$  /index.php last;
>>                 break;
>>                 index  /index.php;
>>         }
>>
>>         location ~ \.php(/|$) {
>>                 fastcgi_pass 127.0.0.1:7777;
>>                 fastcgi_param   APPLICATION_ENV development;
>>                 include /etc/nginx/fastcgi.conf;
>>         }
>> }
>>
>>
>> --
>> З повагою, Олег Черній
>> _______________________________________________
>> nginx-ru mailing list
>> nginx-ru <at> nginx.org
>> http://nginx.org/mailman/listinfo/nginx-ru
>>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru <at> nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru
>

--

-- 
З повагою, Олег Черній
_______________________________________________
nginx-ru mailing list
nginx-ru <at> nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Igor Sysoev | 2 Mar 13:44
Picon
Favicon

Re: Неверно устанавливается $request_uri :( . Nginx/0.8.33 + FastCGI + ZendFramework + SSI

On Mon, Mar 01, 2010 at 04:51:37PM +0200, Олег Черній wrote:

> Особенность работы Zend Framework: при запросе любого адреса
> происходит локальный редирект на index.php,
> информация о том какая именно страница
запрашивалась берется из
> переменной окружения REQUEST_URI.
> 
> Описание проблемы: при запросе любой страницы вида
/index/mypage все
> работает нормально на конфигурации, приведенной
ниже. Но если я делаю
> отдельный контроллером блоки, которые хочу
встравить через SSI
> инструкцию вида <!--# include virtual="/blocks/someblock" -->, то
> вместо того чтоб в REQUEST_URI получить "/blocks/someblock" я получаю
> "/index/mypage" (адрес страницы, из которой вызываются SSI-инструкции)
> 
> Подскажите как можно эту проблему решить?
> 
> server {
>         listen       80;
>         server_name  zfproject;
> 
>         root   /var/www/zfproject/public;
>         ssi on;
> 
>         location ~ /(img|css|js|assets) {
>                 expires 1h;
>         }
>
>         location / {
>                 rewrite  ^(.*)$  /index.php last;
>                 break;
>                 index  /index.php;
>         }
> 
>         location ~ \.php(/|$) {
>                 fastcgi_pass 127.0.0.1:7777;
>                 fastcgi_param   APPLICATION_ENV development;
>                 include /etc/nginx/fastcgi.conf;
>         }
> }

     location / {
          fastcgi_pass 127.0.0.1:7777;
          fastcgi_param   APPLICATION_ENV  development;
          fastcgi_param   SCRIPT_FILENAME  $document_root/index.php;
          fastcgi_param   REQUEST_URI      $uri?$args;
          include         fastcgi_params0;
     }

fastcgi_params0 - копия fastcgi_params без REQUEST_URI.

--

-- 
Игорь Сысоев
http://sysoev.ru

_______________________________________________
nginx-ru mailing list
nginx-ru <at> nginx.org
http://nginx.org/mailman/listinfo/nginx-ru

Gmane