ПРОЕКТЫ 


  АРХИВ 


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: странность



On Sat, Feb 14, 2009 at 01:56:26PM +0300, Doronin Sergey wrote:

> 
> 
> > On Sat, Feb 14, 2009 at 11:48:57AM +0300, Doronin Sergey wrote:
> > 
> > > Ребят, у меня творятся какие-то странные вещи. Тех-поддержка хостинга 
> > > молчит, поэтому обращаюсь к вам.
> > > У меня установлен nginx и apache. Стандартная схема. В конфигах тоже 
> > > ничего мудрёного или экзотического нет, если надо, могу скопи-пастить.
> > > Описываю проблему.
> > > 
> > > Предположим на сайте есть каталог "catalog". Мы можем зайти на него через 
> > > URI: mysite.ru/catalog/
> > > Он открывается, всё ок. Но если попробовать зайти на URI: 
> > > mysite.ru/catalog
> > > Сайт не открывается! FireFox выводит ошибку: Соединение было сброшено. А 
> > > URI в адресной строке меняется на: mysite.ru:8000/catalog/
> > > В логах апача я вижу следующее:
> > > 1.2.3.4 - - [14/Feb/2009:11:40:53 +0300] "GET /catalog HTTP/1.1" 301 336 
> > > "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.6) 
> > > Gecko/2009011913 Firefox/3.0.6"
> > > 
> > > 301 ошибка означает - Moved Permanently
> > 
> > Это не ошибка. Это такой код ответа.
> > 
> > > Скажите пожалуйста, с чем это может быть связано? В какой участок конфига 
> > > мне заглянуть и в какую сторону копать? Заранее, спасибо!
> > 
> > Как выглядит блок с proxy_pass ?
> > 
> > Возможно, в него нужно добавить
> > 
> >  proxy_redirect http://mysite.ru:8000/ /;
> Было:
>  proxy_redirect     off;
> Изменил на:
> proxy_redirect http://mysite.ru:8000/ /;
> 
> Проблема осталась.. Также код ответа 301 и соединение сброшено..

Как выглядит блок с proxy_pass ?

> > > ЗЫ есть подозрение, что это связано со следующей rewrite конструкцией, 
> > > которая убирает 8000 порт из URI:
> > > RewriteEngine On
> > > RewriteBase /
> > > RewriteCond %{HTTP_HOST} ^mysite.ru:8000$
> > > RewriteRule ^(.*)$ http://mysite.ru/$1 [L,R=301]
> > > 
> > > Конструкцию тупо взял с форума хостинга, поэтому не знаю что к чему..
> > 
> > А я-то думаю, откуда берутся все эти
> > 
> >  server {
> >  if ($http_host ~ ...) {
> >  rewrite ...
> >  }
> > 
> > Похоже, иначе, как через RewriteRule'ы Апач люди конфигурить не умеют.
> Это значит rewrite в конфиге nginx лучше прописывать?

Это значит, что и в nginx'е, и в Апаче есть другие средства для работы
с HTTP_HOST, но люди с mod_rewrite-мозгами про них не знают.
В nginx'е это server/server_name, в Апаче - <VirtualHost>/ServerName.

Конкретно эти директивы на данную ситуацию влиять не должны, потому что
они наоброт меняют 8000 на 80.


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



 




Copyright © Lexa Software, 1996-2009.