Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: strange redirect
On Wed, Feb 20, 2008 at 08:41:48PM -0800, Konstantin Svist wrote:
> Igor Sysoev wrote:
> >On Wed, Feb 20, 2008 at 12:47:26AM -0800, Konstantin Svist wrote:
> >
> >
> >>Я заметил что некоторые страницы не работают через nginx.
> >>
> >>Пример:
> >>http://www.google.com/ig/dell
> >>
> >>
> >>Конфигурация:
> >>server {
> >> listen 1088;
> >> server_name foobar.mysite.com;
> >> location / {
> >> proxy_pass http://www.google.com/ig/dell;
> >> }
> >>}
> >>
> >>
> >>При этом, брандмауэр (router) переводит порт 80 -> 1080 (а 1080 спрятан
> >>от пользователя)
> >>
> >>
> >>Результат:
> >>
> >>$ curl -v 'http://foobar.mysite.com'
> >>...
> >>< HTTP/1.1 302 Found
> >>< Server:
> >>< Date: Wed, 20 Feb 2008 08:36:08 GMT
> >>< Content-Type: text/html; charset=UTF-8
> >>< Location: http://foobar.mysite.com:1088/
> >>< Connection: keep-alive
> >>...
> >>
> >>
> >>Похоже что возвращается 302 redirect на http://foobar.mysite.com:1088/ -
> >>но тот порт закрыт/спрятан. С curl-ом нет проблем - но browser просто
> >>висит, пытаясь безуспешно достучаться до закрытого порта.
> >>
> >
> >http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#port_in_redirect
> >
> >
>
>
> Всё-таки не помогает..
>
>
> $ curl -v 'http://foobar.mysite.com/ig/dell'
>
> < HTTP/1.1 302 Found
> < Server:
> < Date: Thu, 21 Feb 2008 04:07:17 GMT
> < Content-Type: text/html; charset=UTF-8
> < Location: http://foobar.mysite.com/ig/dell
> < Connection: keep-alive
> ...
>
>
> А в firefox-е:
> "The page isn't redirecting properly"
> (т.е. бесконечный редирект)
>
>
> Почему-то www.google.com видит что-то не то, и отправляет редирект если
> идём через nginx.
> При нормальном запросе:
>
> $ curl -v 'http://www.google.com/ig/dell'
> ...
> < HTTP/1.1 200 OK
> < Pragma: no-cache
> < Cache-Control: no-store, no-cache, must-revalidate
> < Expires: -1
> < Content-Type: text/html; charset=ISO-8859-1
> ...
У меня не воспроизволится. Нужен отладочный лог.
Кроме того,
proxy_pass http://www.google.com/ig/dell;
приводит к тому, что /ig/f/_lkeI04SsjU/ig.js и /ig/images/x2.gif
запрашиваются как /ig/dellig/f/_lkeI04SsjU/ig.js и /ig/dellig/images/x2.gif.
Нужно описывать два location'а
locaiton = / {
locaiton /ig/ {
--
Игорь Сысоев
http://sysoev.ru
|