ПРОЕКТЫ 


  АРХИВ 


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]

проблема с proxy_redirect



Здравствуйте!

Столкнулся со следующей проблемой:
на одном IP на 80ом порту nginx, на 8080 - apache.

Конфиг nginx:

server {
        listen 192.168.1.1:80;
        server_name domain.com;
        access_log /var/www/clients/clnt/domains/domain.com/logs/access.log 
main;
        error_log  /var/www/clients/clnt/domains/domain.com/logs/error.log;

        location ~* ^.+\.(ico|jpg|jpeg|gif|js|png|htm|html)$ {
            root /var/www/clients/clnt/domains/domain.com/webroot/httpdocs;
        }

        location / {
            rewrite ^/(.*)$ /domain.com/httpdocs/$1 break;
            proxy_pass http://192.168.1.1:8080;
            proxy_redirect default;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_connect_timeout 90;
            proxy_send_timeout 90;
            proxy_read_timeout 90;
        }
    }

Апач настроен соответственно.

При возврате апачем редиректа в Location заменяется только 192.168.1.1
на domain.com, а прочее (порт и путь) остаётся, что, само собой, не
устраивает.

Например:

[20:49] cage:/usr/home/sunny>telnet 192.168.1.1 80
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
HEAD /phpMyAdmin HTTP/1.1
Host: domain.com

HTTP/1.1 301 Moved Permanently
Server: nginx/0.6.10
Date: Fri, 21 Sep 2007 17:49:29 GMT
Content-Type: text/html; charset=iso-8859-1
Connection: keep-alive
Location: http://domain.com:8080/domain.com/phpMyAdmin/
Content-Length: 255

Если запросить /phpMyAdmin/, то редиректа нет и, соответственно, всё
работает.
Пробовал с proxy_redirect http://192.168.1.1:8080/domain.com http://domain.com/
Не получается.

Подскажите, что не так делаю...

nginx -V
nginx version: nginx/0.6.10
configure arguments: --prefix=/usr/local/etc/nginx --with-cc-opt=-I 
/usr/local/include
--with-ld-opt=-L /usr/local/lib --conf-path=/usr/local/etc/nginx/nginx.conf
--sbin-path=/usr/local/sbin/nginx --pid-path=/var/run/nginx.pid
--error-log-path=/var/log/nginx-error.log --user=www --group=www
--with-debug --http-client-body-temp-path=/var/tmp/nginx/client_body_temp
--http-proxy-temp-path=/var/tmp/nginx/proxy_temp
--http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp
--http-log-path=/var/log/nginx-access.log
--with-http_realip_module --with-http_ssl_module --with-http_stub_status_module

uname -rms
FreeBSD 6.2-STABLE i386

nginx и apache в jail'e, если это имеет значение.
Пакеты на 80 порт заворачиваются файрволлом.


--

Yours faithfully,
 Vadim S. Khondar






 




Copyright © Lexa Software, 1996-2009.