Re: Некорректная работа add_after_body

2015-03-20 Пенетрантность Михаил Пульман
Благодарю всех за помощь! Отключил сжатие на бекенде

С уважением, Михаил

19 марта 2015 г., 16:48 пользователь Maxim Dounin 
написал:

> Hello!
>
> On Thu, Mar 19, 2015 at 04:44:48PM +0300, Aleksandr Sytar wrote:
>
> > 19 марта 2015 г., 16:37 пользователь Михаил Пульман 
> > написал:
> >
> > > Да, получается на nginx приходит сжатый ответ и инжект не срабатывает.
> > > Подскажите каким образом можно произвести инжект js-скрипта в ответ,
> если
> > > на nginx со стороны сервера приложения приходит уже сжатый ответ ?
> > >
> >
> > Капитан Очевидность подсказывает - распаковать его перед подачей в nginx,
> > например другим nginx + gungzip
> > http://nginx.org/ru/docs/http/ngx_http_gunzip_module.html
>
> Это плохой путь.  Правильнее всего - отключить сжатие на бекенде.
> Если же это по каким-то причинам невозможно - то обычно достаточно
> спилить заголовок Accept-Encoding из запроса к бекенду:
>
> proxy_set_header Accept-Encoding "";
>
> http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_set_header
>
> --
> 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: Некорректная работа add_after_body

2015-03-19 Пенетрантность Maxim Dounin
Hello!

On Thu, Mar 19, 2015 at 04:44:48PM +0300, Aleksandr Sytar wrote:

> 19 марта 2015 г., 16:37 пользователь Михаил Пульман 
> написал:
> 
> > Да, получается на nginx приходит сжатый ответ и инжект не срабатывает.
> > Подскажите каким образом можно произвести инжект js-скрипта в ответ, если
> > на nginx со стороны сервера приложения приходит уже сжатый ответ ?
> >
> 
> Капитан Очевидность подсказывает - распаковать его перед подачей в nginx,
> например другим nginx + gungzip
> http://nginx.org/ru/docs/http/ngx_http_gunzip_module.html

Это плохой путь.  Правильнее всего - отключить сжатие на бекенде.  
Если же это по каким-то причинам невозможно - то обычно достаточно 
спилить заголовок Accept-Encoding из запроса к бекенду:

proxy_set_header Accept-Encoding ""; 

http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_set_header

-- 
Maxim Dounin
http://nginx.org/

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Некорректная работа add_after_body

2015-03-19 Пенетрантность Aleksandr Sytar
19 марта 2015 г., 16:37 пользователь Михаил Пульман 
написал:

> Да, получается на nginx приходит сжатый ответ и инжект не срабатывает.
> Подскажите каким образом можно произвести инжект js-скрипта в ответ, если
> на nginx со стороны сервера приложения приходит уже сжатый ответ ?
>

Капитан Очевидность подсказывает - распаковать его перед подачей в nginx,
например другим nginx + gungzip
http://nginx.org/ru/docs/http/ngx_http_gunzip_module.html

>
> С уважением, Михаил
>
> 19 марта 2015 г., 11:41 пользователь Aleksandr Sytar  > написал:
>
>
>>
>> 19 марта 2015 г., 11:36 пользователь Михаил Пульман 
>> написал:
>>
>>> содержимое inject.html следующего вида:
>>> 
>>> 
>>> "код скрипта"
>>> 
>>> 
>>>
>>> Соответственно содержимое в формате html и не сжато. Более глубокое
>>> тестирование показало что инжект происходит когда запрос приходит от
>>> браузеров chrome, opera и не происходит когда запрос приходит от ie или
>>> firefox. Содержимое inject.html пробовал разнообразное, начиная от html
>>> кода и заканчивая произвольным текстом, ситуация во всех случаях одинаковая.
>>>
>>
>>
>> curl -v -I --compressed http://урл_к_которому_мы_хотим_заинжектить_данные
>> 
>>
>> Если вы получите ошибку - значит сервер не умеет сжимать данные и всегда
>> возвращает html к которому можно приклеить свой. Иначе, возвращаются сжатые
>> данные, которые нужно предварительно распаковать.
>>
>>
>>
>>>
>>> С уважением, Михаил
>>>
>>> 18 марта 2015 г., 17:15 пользователь Maxim Dounin 
>>> написал:
>>>
>>> Hello!

 On Wed, Mar 18, 2015 at 04:58:28PM +0300, Михаил Пульман wrote:

 [...]

 > Суть в том что при любом запросе у сервера example01.ru, в ответ
 должен
 > приходить ответ + Содержимое inject.html
 > Содержимое inject.html добавляется к телу ответа не всегда. В чем
 может
 > быть проблема?

 В том, что ответ не html (http://nginx.org/r/addition_types/ru)
 или сжат.

 --
 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
>>>
>>
>>
>> ___
>> 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: Некорректная работа add_after_body

2015-03-19 Пенетрантность Pavel Mihaduk
Перестать жать на бэкенде и делать это на самом nginx, кажется, единственный 
вариант.


Да, получается на nginx приходит сжатый ответ и инжект не срабатывает.
Подскажите каким образом можно произвести инжект js-скрипта в ответ, если на 
nginx со стороны сервера приложения приходит уже сжатый ответ ?


С уважением, Михаил


19 марта 2015 г., 11:41 пользователь Aleksandr Sytar  
написал:






19 марта 2015 г., 11:36 пользователь Михаил Пульман  
написал:


содержимое inject.html следующего вида:


"код скрипта"






Соответственно содержимое в формате html и не сжато. Более глубокое 
тестирование показало что инжект происходит когда запрос приходит от 
браузеров chrome, opera и не происходит когда запрос приходит от ie или 
firefox. 
Содержимое inject.html пробовал разнообразное, начиная от html кода и 
заканчивая произвольным текстом, ситуация во всех случаях одинаковая.




curl -v -I --compressed http://урл_к_которому_мы_хотим_заинжектить_данные[3]


Если вы получите ошибку - значит сервер не умеет сжимать данные и всегда 
возвращает html к которому можно приклеить свой. Иначе, возвращаются 
сжатые данные, которые нужно предварительно распаковать.


 


С уважением, Михаил


18 марта 2015 г., 17:15 пользователь Maxim Dounin  
написал:


Hello!

On Wed, Mar 18, 2015 at 04:58:28PM +0300, Михаил Пульман wrote:

[...]

> Суть в том что при любом запросе у сервера example01.ru[5], в ответ должен> 
приходить ответ + Содержимое inject.html> Содержимое inject.html добавляется 
к телу ответа не всегда. В чем может> быть проблема?

В том, что ответ не html (http://nginx.org/r/addition_types/ru[6])или сжат.


http://nginx.org/[7]
nginx-ru@nginx.org[8]
http://mailman.nginx.org/mailman/listinfo/nginx-ru[9]



nginx-ru@nginx.org[8]
http://mailman.nginx.org/mailman/listinfo/nginx-ru[9]




nginx-ru@nginx.org[8]
http://mailman.nginx.org/mailman/listinfo/nginx-ru[9]







[1] mailto:sytar.a...@gmail.com
[2] mailto:pull...@gmail.com
[3] http://xn--__-7nfb9aidhlmdcxbjgzbc2ahahaae3ch8dikbhm5fwmwa0b
[4] mailto:mdou...@mdounin.ru
[5] http://example01.ru
[6] http://nginx.org/r/addition_types/ru
[7] http://nginx.org/
[8] mailto:nginx-ru@nginx.org
[9] 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: Некорректная работа add_after_body

2015-03-19 Пенетрантность Maxim Dounin
Hello!

On Thu, Mar 19, 2015 at 11:36:06AM +0300, Михаил Пульман wrote:

> содержимое inject.html следующего вида:
> 
> 
> "код скрипта"
> 
> 
> 
> Соответственно содержимое в формате html и не сжато.

Содержимое inject.html - не важно.  Важно - что в основном ответе.

-- 
Maxim Dounin
http://nginx.org/

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Некорректная работа add_after_body

2015-03-19 Пенетрантность Михаил Пульман
Да, получается на nginx приходит сжатый ответ и инжект не срабатывает.
Подскажите каким образом можно произвести инжект js-скрипта в ответ, если
на nginx со стороны сервера приложения приходит уже сжатый ответ ?

С уважением, Михаил

19 марта 2015 г., 11:41 пользователь Aleksandr Sytar 
написал:

>
>
> 19 марта 2015 г., 11:36 пользователь Михаил Пульман 
> написал:
>
>> содержимое inject.html следующего вида:
>> 
>> 
>> "код скрипта"
>> 
>> 
>>
>> Соответственно содержимое в формате html и не сжато. Более глубокое
>> тестирование показало что инжект происходит когда запрос приходит от
>> браузеров chrome, opera и не происходит когда запрос приходит от ie или
>> firefox. Содержимое inject.html пробовал разнообразное, начиная от html
>> кода и заканчивая произвольным текстом, ситуация во всех случаях одинаковая.
>>
>
>
> curl -v -I --compressed http://урл_к_которому_мы_хотим_заинжектить_данные
> 
>
> Если вы получите ошибку - значит сервер не умеет сжимать данные и всегда
> возвращает html к которому можно приклеить свой. Иначе, возвращаются сжатые
> данные, которые нужно предварительно распаковать.
>
>
>
>>
>> С уважением, Михаил
>>
>> 18 марта 2015 г., 17:15 пользователь Maxim Dounin 
>> написал:
>>
>> Hello!
>>>
>>> On Wed, Mar 18, 2015 at 04:58:28PM +0300, Михаил Пульман wrote:
>>>
>>> [...]
>>>
>>> > Суть в том что при любом запросе у сервера example01.ru, в ответ
>>> должен
>>> > приходить ответ + Содержимое inject.html
>>> > Содержимое inject.html добавляется к телу ответа не всегда. В чем может
>>> > быть проблема?
>>>
>>> В том, что ответ не html (http://nginx.org/r/addition_types/ru)
>>> или сжат.
>>>
>>> --
>>> 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
>>
>
>
> ___
> 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: Некорректная работа add_after_body

2015-03-19 Пенетрантность Aleksandr Sytar
19 марта 2015 г., 11:36 пользователь Михаил Пульман 
написал:

> содержимое inject.html следующего вида:
> 
> 
> "код скрипта"
> 
> 
>
> Соответственно содержимое в формате html и не сжато. Более глубокое
> тестирование показало что инжект происходит когда запрос приходит от
> браузеров chrome, opera и не происходит когда запрос приходит от ie или
> firefox. Содержимое inject.html пробовал разнообразное, начиная от html
> кода и заканчивая произвольным текстом, ситуация во всех случаях одинаковая.
>


curl -v -I --compressed http://урл_к_которому_мы_хотим_заинжектить_данные


Если вы получите ошибку - значит сервер не умеет сжимать данные и всегда
возвращает html к которому можно приклеить свой. Иначе, возвращаются сжатые
данные, которые нужно предварительно распаковать.



>
> С уважением, Михаил
>
> 18 марта 2015 г., 17:15 пользователь Maxim Dounin 
> написал:
>
> Hello!
>>
>> On Wed, Mar 18, 2015 at 04:58:28PM +0300, Михаил Пульман wrote:
>>
>> [...]
>>
>> > Суть в том что при любом запросе у сервера example01.ru, в ответ должен
>> > приходить ответ + Содержимое inject.html
>> > Содержимое inject.html добавляется к телу ответа не всегда. В чем может
>> > быть проблема?
>>
>> В том, что ответ не html (http://nginx.org/r/addition_types/ru)
>> или сжат.
>>
>> --
>> 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
>
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Некорректная работа add_after_body

2015-03-19 Пенетрантность Михаил Пульман
содержимое inject.html следующего вида:


"код скрипта"



Соответственно содержимое в формате html и не сжато. Более глубокое
тестирование показало что инжект происходит когда запрос приходит от
браузеров chrome, opera и не происходит когда запрос приходит от ie или
firefox. Содержимое inject.html пробовал разнообразное, начиная от html
кода и заканчивая произвольным текстом, ситуация во всех случаях одинаковая.

С уважением, Михаил

18 марта 2015 г., 17:15 пользователь Maxim Dounin 
написал:

> Hello!
>
> On Wed, Mar 18, 2015 at 04:58:28PM +0300, Михаил Пульман wrote:
>
> [...]
>
> > Суть в том что при любом запросе у сервера example01.ru, в ответ должен
> > приходить ответ + Содержимое inject.html
> > Содержимое inject.html добавляется к телу ответа не всегда. В чем может
> > быть проблема?
>
> В том, что ответ не html (http://nginx.org/r/addition_types/ru)
> или сжат.
>
> --
> 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: Некорректная работа add_after_body

2015-03-18 Пенетрантность Maxim Dounin
Hello!

On Wed, Mar 18, 2015 at 04:58:28PM +0300, Михаил Пульман wrote:

[...]

> Суть в том что при любом запросе у сервера example01.ru, в ответ должен
> приходить ответ + Содержимое inject.html
> Содержимое inject.html добавляется к телу ответа не всегда. В чем может
> быть проблема?

В том, что ответ не html (http://nginx.org/r/addition_types/ru) 
или сжат.

-- 
Maxim Dounin
http://nginx.org/

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Некорректная работа add_after_body

2015-03-18 Пенетрантность Михаил Пульман
Добрый день!

Есть следующий конфиг

server {
listen 80;
server_name example01.ru;

add_after_body /inject.html;

location /inject.html {
root/etc/nginx/conf.d/example01.ru;
}

location ~* /cron/ {
allow "ip addres";
allow "ip addres";
allow "ip addres";
deny all;
proxy_read_timeout 9;
proxy_pass  http://upstream_list;
}

location ~ /\. {
deny all;
access_log off;
log_not_found off;
}

location ~*
^.+.(css|js|asf|asx|wax|wmv|wmx|avi|bmp|class|divx|doc|docx|eot|exe|gif|gz|gzip|ico|jpg|jpeg|jpe|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|mpp|odb|odc|odf|odg|odp|ods|odt|ogg|ogv|otf|pdf|png|pot|pps|ppt|pptx|ra|ram|svg|svgz|swf|tar|t?gz|tif|tiff|ttf|wav|webm|wma|woff|wri|xla|xls|xlsx|xlt|xlw|zip)$
{
access_log off;
log_not_found off;
proxy_pass   http://upstream_list;
include include/"конфиг с кэшем";
}

location / {
proxy_pass  http://upstream_list;
}

}

Суть в том что при любом запросе у сервера example01.ru, в ответ должен
приходить ответ + Содержимое inject.html
Содержимое inject.html добавляется к телу ответа не всегда. В чем может
быть проблема?

С уважением, Михаил
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru