Обнаружил проблему с sitemap.xml, генерируемый с помощью модуля XML sitemap. У меня используется front-back конфигурация серверов, в качестве front юзаю nginx, ну а back - apache2. Если обращаться по порту 81 (на apache), то все нормально, файл находится, если через nginx - 80 порт - то выдается 404 Not Found, что в общем то понятно, т.к. по указанному адресу этого файла нет. Вся статика у меня управляется с помощью nginx.
Подскажите, как мне решить эту проблему? Убрать из принудительной обработки с помощью nginx тип файлов xml, чтобы apache уже обрабатывал этот тип, что скажете?
Комментарии
Конфиги:
#cat nginx.conf
user www-data;
worker_processes 1;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 64;
access_log /var/log/nginx/access.log;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
tcp_nodelay on;
gzip on;
gzip_proxied any;
gzip_min_length 1100;
gzip_http_version 1.0;
gzip_buffers 4 8k;
gzip_comp_level 9;
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
#cat mysite.ru
server {
listen 80;
server_name mysite.ru www.mysite.ru en.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/multisite/www/;
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;
}
}
Ну и ошибка nginx:
2010/03/15 15:08:37 [error] 2358#0: *595 open() "/var/www/multisite/www/sitemap.xml" failed (2: No such file or directory), client: 91.210.4.1, server: mysite.ru, request: "GET /sitemap.xml HTTP/1.0", host: "mysite.ru", referrer: "http://mysite.ru/admin/settings/xmlsitemap"
Убрал xml из списка, заработало, как и предполагалось.
Спасибо за помощь!
У меня аналогичная проблема, только апача нет вообще — всё обслуживается nginx. В конфигах (nginx.cong и sites-available/example.net) упоминаний о xml нет. Лог Друпала оптимистично докладывает о том, что sitemap.xml was submitted to Google, при этом google webmasters tools говорит, что ни о чём подобном понятия не имеет. При попытке дёрнуть sitemap.xml получаю 404.
Пробовал воспользоваться советом с drupal.org, но безуспешно — ничего не изменилось (естественно, после внесения изменений в конфиг я перезапускал nginx).