Автор Тема: Apache22 + Nginx  (Прочитано 1304 раз)

0 Пользователей и 1 Гость просматривают эту тему.

cubespace

  • Участник форума
  • Сообщений: 60
  • Репутация: 0.15
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 8.0 Firefox 8.0
    • Просмотр профиля
Apache22 + Nginx
« : Декабрь 11, 2011, 09:54:10 pm »
Здравствуйте!

Возникла следующая проблема.
На сервере установлен nginx(frontend) и apache(backend).
Когда мы ссылаемся на подобный адрес http://mysite.ru/dir, то почему-то идёт редирект на порт апача, т.е адресная строка теперь выглядит так: http://mysite.ru:81/dir/

Проблема, вероятно, заключается в том, что в конце dir не стоит слеш и сервер пытается его поставить редиректом, но делает это не так, как хотелось бы.

server {
listen 80;
server_name mysite.ru www.mysite.ru;
access_log /var/log/nginx.access_log;
location ~* ^.+\.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|xml|docx|xlsx)$ {
root /var/www/mysite/;
index index.html index.php;
access_log off;
expires 30d;
}
location ~ /\.ht {
deny all;
}
location / {
proxy_pass http://127.0.0.1:81/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-for $remote_addr;
proxy_set_header Host $host;
proxy_connect_timeout 60;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_redirect off;
proxy_set_header Connection close;
proxy_pass_header Content-Type;
proxy_pass_header Content-Disposition;
proxy_pass_header Content-Length;
}
}

NameVirtualHost *:81
Listen 81


У меня nginx находится на 80 порту, апач на 81.

Возможно ли это как-то исправить?

Pascal

  • Администратор
  • Сообщений: 8558
  • Репутация: 38.45
  • OS:
  • Linux (Gentoo) Linux (Gentoo)
  • Browser:
  • Chrome 16.0.912.63 Chrome 16.0.912.63
    • Просмотр профиля
    • Форум системных администраторов UNIX
Apache22 + Nginx
« Ответ #1 : Декабрь 12, 2011, 09:48:30 am »
А если временно свести конфиг к минимуму?

location / {
proxy_pass http://127.0.0.1:81/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
cout << "Shalom World!\n"; // (с)

cubespace

  • Участник форума
  • Сообщений: 60
  • Репутация: 0.15
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 8.0 Firefox 8.0
    • Просмотр профиля
Apache22 + Nginx
« Ответ #2 : Декабрь 12, 2011, 08:59:29 pm »
Тоже самое!

Pascal

  • Администратор
  • Сообщений: 8558
  • Репутация: 38.45
  • OS:
  • Linux (Gentoo) Linux (Gentoo)
  • Browser:
  • Chrome 16.0.912.63 Chrome 16.0.912.63
    • Просмотр профиля
    • Форум системных администраторов UNIX
Apache22 + Nginx
« Ответ #3 : Декабрь 13, 2011, 10:39:17 am »
Нагуглилось что-то похожее
Сама проблема link
« Последнее редактирование: Декабрь 13, 2011, 10:41:39 am от Pascal »
cout << "Shalom World!\n"; // (с)

Pascal

  • Администратор
  • Сообщений: 8558
  • Репутация: 38.45
  • OS:
  • Linux (Gentoo) Linux (Gentoo)
  • Browser:
  • Chrome 16.0.912.63 Chrome 16.0.912.63
    • Просмотр профиля
    • Форум системных администраторов UNIX
Apache22 + Nginx
« Ответ #4 : Декабрь 13, 2011, 10:44:06 am »
И еще:

Цитата
> Try to set
> UseCanonicalName  on
>
> and replace
> Port 8080
> with
> Listen 8080

I just changed Listen 8080 instead of Port 8080 and it wors fine now:)
I left UseCanonicalName  off

Thanks a lot!!!

link
cout << "Shalom World!\n"; // (с)

cubespace

  • Участник форума
  • Сообщений: 60
  • Репутация: 0.15
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 9.0 Firefox 9.0
    • Просмотр профиля
Apache22 + Nginx
« Ответ #5 : Декабрь 13, 2011, 01:57:48 pm »
Спасибо за инфу!
перепробовал те варианты, но не помогло ((

И еще где ставить Port ?
У меня везде Listen
« Последнее редактирование: Декабрь 13, 2011, 02:30:54 pm от cubespace »

Pascal

  • Администратор
  • Сообщений: 8558
  • Репутация: 38.45
  • OS:
  • Linux (Gentoo) Linux (Gentoo)
  • Browser:
  • Chrome 16.0.912.63 Chrome 16.0.912.63
    • Просмотр профиля
    • Форум системных администраторов UNIX
Apache22 + Nginx
« Ответ #6 : Декабрь 13, 2011, 02:57:36 pm »
И еще где ставить Port ?
У меня везде Listen
Я так полагаю к конфиге nginx
cout << "Shalom World!\n"; // (с)

cubespace

  • Участник форума
  • Сообщений: 60
  • Репутация: 0.15
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 9.0 Firefox 9.0
    • Просмотр профиля
Apache22 + Nginx
« Ответ #7 : Декабрь 13, 2011, 03:12:37 pm »
nginx не принимает Port, только Listen! Єто и есть порт
Listen 80

Pascal

  • Администратор
  • Сообщений: 8558
  • Репутация: 38.45
  • OS:
  • Linux (Gentoo) Linux (Gentoo)
  • Browser:
  • Chrome 16.0.912.63 Chrome 16.0.912.63
    • Просмотр профиля
    • Форум системных администраторов UNIX
Apache22 + Nginx
« Ответ #8 : Декабрь 13, 2011, 03:53:01 pm »
a2enmod rewrite
/etc/init.d/apache2 restart

Ради эксперимента.
cout << "Shalom World!\n"; // (с)

cubespace

  • Участник форума
  • Сообщений: 60
  • Репутация: 0.15
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 9.0 Firefox 9.0
    • Просмотр профиля
Apache22 + Nginx
« Ответ #9 : Декабрь 13, 2011, 03:59:37 pm »
все необходимые модули подключены

Module rewrite already enabled

Pascal

  • Администратор
  • Сообщений: 8558
  • Репутация: 38.45
  • OS:
  • Linux (Gentoo) Linux (Gentoo)
  • Browser:
  • Chrome 16.0.912.63 Chrome 16.0.912.63
    • Просмотр профиля
    • Форум системных администраторов UNIX
Apache22 + Nginx
« Ответ #10 : Декабрь 13, 2011, 04:03:16 pm »
Завтра попробую сам и посмотрю что будет
Напишите версии nginx и apache
cout << "Shalom World!\n"; // (с)

cubespace

  • Участник форума
  • Сообщений: 60
  • Репутация: 0.15
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 9.0 Firefox 9.0
    • Просмотр профиля
Apache22 + Nginx
« Ответ #11 : Декабрь 13, 2011, 04:10:59 pm »
ок ) Спасибо !

nginx/1.0.5
Apache/2.2.20 (Ubuntu)

Loaded Modules

core mod_log_config mod_logio prefork http_core mod_so mod_alias mod_auth_basic mod_authn_file mod_authz_default mod_authz_groupfile mod_authz_host mod_authz_user mod_autoindex mod_cache mod_cgi mod_deflate mod_dir mod_disk_cache mod_env mod_expires mod_filter mod_headers mod_include mod_mem_cache mod_mime mod_negotiation mod_php5 mod_proxy mod_proxy_http mod_reqtimeout mod_rewrite mod_rpaf mod_ruby mod_setenvif mod_ssl mod_status mod_suexec mod_vhost_alias

cubespace

  • Участник форума
  • Сообщений: 60
  • Репутация: 0.15
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 8.0 Firefox 8.0
    • Просмотр профиля
Apache22 + Nginx
« Ответ #12 : Декабрь 15, 2011, 08:38:27 pm »
Есть результаты ?

Pascal

  • Администратор
  • Сообщений: 8558
  • Репутация: 38.45
  • OS:
  • Linux (Gentoo) Linux (Gentoo)
  • Browser:
  • Chrome 16.0.912.63 Chrome 16.0.912.63
    • Просмотр профиля
    • Форум системных администраторов UNIX
Apache22 + Nginx
« Ответ #13 : Декабрь 16, 2011, 10:58:24 am »
cubespace, был немного занят, сегодня буду пробовать.
cout << "Shalom World!\n"; // (с)

Pascal

  • Администратор
  • Сообщений: 8558
  • Репутация: 38.45
  • OS:
  • Linux (Gentoo) Linux (Gentoo)
  • Browser:
  • Chrome 16.0.912.63 Chrome 16.0.912.63
    • Просмотр профиля
    • Форум системных администраторов UNIX
Apache22 + Nginx
« Ответ #14 : Декабрь 16, 2011, 01:59:38 pm »
Подтверждаю, на вашем конфиге ситуация повторилась, сейчас буду искать, где ошибка
cout << "Shalom World!\n"; // (с)