Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Drupal + nginx + Apache: try files вызывает циклический редирект
- To: nginx-ru@xxxxxxxxx
- Subject: Drupal + nginx + Apache: try files вызывает циклический редирект
- From: "STINGER_LP" <nginx-forum@xxxxxxxx>
- Date: Tue, 24 Jul 2012 16:52:20 -0400 (EDT)
- Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tigger.jlkhosting.com; s=x; h=From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To:Date; bh=VNw3XEINT+R4oNBqvNqv3SJwqf30JqSZa5J+9qQoxmU=; b=FvF8AVSTOahWGUF+t0hLaKMPfeKRa9fjqUVsmiEfbR2Tc1+bKpST9l8B/Pk8gMh2r9App0/JUlhnfLqmpH1ryewztLXgQkAYZiMg9bnVBjrAoo+xTcH7AeR1z+ne2qj5;
Здравствуйте. Столкнулся с проблемой
конфигурации nginx у себя на сервере под
Drupal 6. После установки nginx в связке с Apache,
перестал работать модуль Imagecache по
генерации различных версий картинок,
загружаемых на сайте. Много всего
вычитал в сети на эту тему и выяснил,
что в локейшенах стоит прописать
директиву try_files, чтобы в случае, если
файл не обнаружен, запрос передавался
на обработку Апачу, и тогда модуль
Imagecache должен сделать свое дело по
генерации файла.
Я делал все в частности как указано в
вики: http://wiki.nginx.org/HttpCoreModule#try_files за
исключением того, что у меня fastcgi не
стоит. Но в итоге, в каком бы я локейшене
не прописывал "try_files $uri $uri/ /index.php?q=$uri;" по
его адресу происходит циклическое
перенаправление, о чем любезно сообщил
мне Хром (Опера же тупо белую страницу
выдает).
Прошу помощи в настройке nginx, т.к. уже
больше месяца не могу решить эту
проблему, которая стопорит всю работу
над сайтом.
========================================
Вот так выглядит nginx.conf:
========================================
user www-data;
worker_processes 2;
error_log /var/log/nginx/error.log info;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;
client_header_buffer_size 1k;
large_client_header_buffers 4 4k;
gzip on;
gzip_min_length 1100;
gzip_buffers 4 8k;
gzip_types text/plain;
postpone_output 1460;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 75 20;
access_log /var/log/nginx/access.log;
gzip_comp_level 5;
gzip_types text/xml application/xml application/x-javascript
text/javascript text/css text/json;
gzip_disable "msie6";
output_buffers 1 32k;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
========================================
========================================
Вот так выглядит отдельный конфиг из
sites-available - mysite.com:
========================================
server {
listen mysite.com:80;
server_name mysite.com www.mysite.com dev.mysite.com
download.mysite.com www.mysite.com download.myoldsite.com
www.myoldsite.com www.download.myoldsite.com;
root /var/www/mysite/;
index index.php index.html index.htm;
charset utf-8;
access_log /var/log/nginx/access_mysite.log;
error_log /var/log/nginx/error_mysite.log warn;
if ( $host = myoldsite.com ) {
rewrite ^(.*) http://mysite.com$1 permanent;
}
if ( $host = www.myoldsite.com ) {
rewrite ^(.*) http://mysite.com$1 permanent;
}
if ( $host = www.download.mysite.com ) {
rewrite ^(.*) http://download.mysite.com$1 permanent;
}
if ( $host = www.myoldsite.com ) {
rewrite ^(.*) http://download.myoldsite.com$1 permanent;
}
if ($host !~
^(mysite.com|www.mysite.com|download.myoldsite.com|www.download.myoldsite.com|dev.mysite.com|www.dev.mysite.com)$)
{
rewrite ^(.*) http://mysite.com$1 permanent;
}
location / {
proxy_pass http://127.0.0.1:81/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;#
proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
client_body_temp_path /var/nginx/client_body_temp 1 2;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_temp_path /var/nginx/proxy_temp 1 2;
try_files $uri $uri/ /index.php?q=$uri;
}
# Serve static files directly by nginx
location ^~ /files/ {
access_log off;
expires 20d;
try_files $uri $uri/ /index.php?q=$uri;
}
location ~*
^.+\.(jpeg|jpg|gif|png|bmp|ico|swf|exe|air|ttf|otf|xml|torrent|bup|ifo|info|nfo|cur|tar|zip|tgz|rar|bz2|pdf|psd|txt|doc|xls|docx|xlsx|bak|veg|sfk|css|js|ogg|mp3|ac3|flac|mp2|wav|wma|wmv|avi|mpeg|mpg|mov|flv|mp4|webm|mkv|ts|vob|m4v|rm|m2ts|mts)$
{
access_log off;
expires 30d;
try_files $uri $uri/ /index.php?q=$uri;
}
# Deny access to .htaccess files, if Apache's document root
concurs with nginx's one
location ~ /\.ht {
deny all;
access_log off;
log_not_found off;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
# Deny access to unix backup files
location ~* \~$ {
deny all;
}
# Set error page handle by Drupal
error_page 500 502 503 504 /error50x.html;
location = /error50x.html {
root /var/www/mysite/;
}
error_page 404 /error404.html;
location = /error404.html {
root /var/www/mysite/;
}
# Deny access to system files and directories
location ~*
\.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.*|Repository|Root|Tag|Template)$|\.php_
{
deny all;
}
location ~
"^/(CHANGELOG|COPYRIGHT|INSTALL\.mysql|INSTALL\.pgsql|INSTALL|LICENSE|MAINTAINERS|UPGRADE)\.txt"
{
deny all;
}
location ^~ /files/imagecache/ {
root /var/www/mysite;
index index.php index.html;
try_files $uri $uri/ /index.php?q=$uri;
}
}
========================================
Может кто-то сможет подсказать в чем
ошибка? При данной конфигурации с
указанием try_files $uri $uri/ /index.php?q=$uri; по
соответствующим локейшенам происходит
циклический редирект, в том числе на
всех внутренних страницах сайта.
Заранее благодарен за помощь.
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,228948,228948#msg-228948
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|