Здравствуйте!
Столкнулся со следующей проблемой:
на одном 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.comhttp://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