ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: постоянное использ ование https



On Mon, Jun 15, 2009 at 04:26:09PM +0400, umask wrote:

> 
> 
> 15.06.09, 14:06, "Igor Sysoev" <is@xxxxxxxxxxxxx>:
> 
> > On Mon, Jun 15, 2009 at 01:50:03PM +0400, umask wrote:
> > > 
> > > 
> > > 15.06.09, 13:45, "umask" <umask@xxxxxxxxx>:
> > > 
> > > > 15.06.09, 11:59, "Igor Sysoev" <is@xxxxxxxxxxxxx>:
> > > > > Обычно такая мистика происходит, если бэкенд выдал сжатый или 
> > > > > chunk-нутый
> > > > > ответ. Во втором Tomcat не замечен (обычно это случается с PHP-ными
> > > > > скриптами), так что, скорее первое. Можно попробовать добавить
> > > > >      proxy_set_header   Accept-Encoding  "";
> > > > > -- 
> > > > > Игорь Сысоев
> > > > > http://sysoev.ru
> > > > Не помогло.
> > > > Добавил proxy_set_header   Accept-Encoding  "", proxy_pass сделал на 
> > > > 8095 (порт без ssl), рестартанул - опять редиректит с https на http.
> > > 
> > > т.е. sub_filter не сработал.
> > Тогда нужен отладочный лог запроса.
> > -- 
> > Игорь Сысоев
> > http://sysoev.ru
> 
> 
> log_8095 - это когда sub_filter не срабатывает при таком конфиге (8095 - порт 
> без SSL у томаката):
>       server {
>               listen 443 default ssl;
>                 server_name .test.ru;
>               ssl                  on;
>               ssl_protocols        SSLv3 TLSv1;
>               #ssl_ciphers          
> AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5;
>               ssl_ciphers          HIGH;
>               ssl_prefer_server_ciphers on;
>               ssl_certificate      /etc/nginx/ssl/test.ru.crt;
>               ssl_certificate_key  /etc/nginx/ssl/test.ru.key;
>               ssl_session_cache    shared:SSL:10m;
>               ssl_session_timeout  10m;
> 
>               limit_req   zone=one  burst=5;
> 
>                 sub_filter_once   off;
>               sub_filter 'http://' 'https://';
>                 
>               location / {
>                         proxy_buffers 128 64k;
>                         proxy_read_timeout    30;
>                         proxy_connect_timeout 3;
>                         proxy_pass   http://127.0.0.1:8095/;
>                         proxy_set_header   X-Real-IP        $remote_addr;
>                         proxy_set_header   X-Forwarded-For  
> $proxy_add_x_forwarded_for;
>                         proxy_set_header   Host             $host;
>                 }
>       }
> 
> 
> 
> log_9095 - это когда sub_filter срабатывает, но связь nginx-tomcat  
> происходит по SSL (9095 - порт у томката с SSL). Конфиг такой:
>       server {
>               listen 443 default ssl;
>                 server_name .test.ru;
>               ssl                  on;
>               ssl_protocols        SSLv3 TLSv1;
>               #ssl_ciphers          
> AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5;
>               ssl_ciphers          HIGH;
>               ssl_prefer_server_ciphers on;
>               ssl_certificate      /etc/nginx/ssl/test.ru.crt;
>               ssl_certificate_key  /etc/nginx/ssl/test.ru.key;
>               ssl_session_cache    shared:SSL:10m;
>               ssl_session_timeout  10m;
> 
>               limit_req   zone=one  burst=5;
> 
>                 sub_filter_once   off;
>               sub_filter 'http://' 'https://';
>                 
>               location / {
>                         proxy_buffers 128 64k;
>                         proxy_read_timeout    30;
>                         proxy_connect_timeout 3;
>                         proxy_pass   https://127.0.0.1:9095/;
>                         proxy_set_header   X-Real-IP        $remote_addr;
>                         proxy_set_header   X-Forwarded-For  
> $proxy_add_x_forwarded_for;
>                         proxy_set_header   Host             $host;
>                 }
>       }
> 
> 
> P.S. limit_req на проблему никак не влияет.

Судя по логам, sub_filter чего-то делает и по числу байт ответы сопадают:

2009/06/15 16:13:06 [debug] 26224#0: *1 http chunk: 63
2009/06/15 16:13:06 [debug] 26224#0: *1 http chunk: 8
2009/06/15 16:13:06 [debug] 26224#0: *1 http chunk: 91
2009/06/15 16:13:06 [debug] 26224#0: *1 http chunk: 8
2009/06/15 16:13:06 [debug] 26224#0: *1 http chunk: 66

2009/06/15 15:49:07 [debug] 24323#0: *8 http chunk: 63
2009/06/15 15:49:07 [debug] 24323#0: *8 http chunk: 8
2009/06/15 15:49:07 [debug] 24323#0: *8 http chunk: 91
2009/06/15 15:49:07 [debug] 24323#0: *8 http chunk: 8
2009/06/15 15:49:07 [debug] 24323#0: *8 http chunk: 66


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



 




Copyright © Lexa Software, 1996-2009.