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
|