Обработка ajax запросов под nginx (проблема)

12
leenex2
На сайте с 12.03.2008
Offline
121
8470

Здравствуйте уважаемые форумчане!

Интересует такой вопрос. Имеется сервер, с установленной ОС FreeBSD 6.3.

Web сервер - nginx. Версия - nginx/0.7.3

Сейчас стали активно переписывать скрипты с использованием ajax.

Возникла проблема. Ajax запросы почему то не обрабатываются именно в nginx. в апаче все ок.

Смею предположить, что из-за буферизации.

Пробовали отключать буферизацию - не помогло. Также пробовали различные варианты запроса - json/xml/text. Эффекта ноль.

Ребят, никто не сталкивался с подобными проблемами?

Буду благодарен за любые комментарии. В интернете найти ничего не удалось.

KONONOV IT: создание и поддержка сайтов, администрирование серверов, 1С программирование (https://kononov.spb.ru/) Промокоды и купоны от Promokodio.com (https://promokodio.com/)
RAS
На сайте с 27.11.2005
Offline
126
RAS
#1

Нужно смотреть конфиг и запросы.

Администрируем сервера, впс, вдс. Ускоряем загрузку сайтов - DLE, Word Press, Joomla, Modx... Настраиваем безопасность. Ручная чистка rootkit/malware/вирусов. (/ru/forum/867860) Разработка - shell/bash/sh/python/perl.
Boris A Dolgov
На сайте с 04.07.2007
Offline
215
#2

И логи. Почему nginx такой старый?

С уважением, Борис Долгов. Администрирование, дешевые лицензии ISPsystem, Parallels, cPanel, DirectAdmin, скины, SSL - ISPlicense.ru (http://www.isplicense.ru/?from=4926)
leenex2
На сайте с 12.03.2008
Offline
121
#3

RAS, Boris A Dolgov,

Дело в том, что до этого все стабильно работало - поэтому и версия такая старая=)

Никаких сбоев не замечается.

user nobody;
worker_processes 50;
worker_priority -5;
worker_rlimit_nofile 51200;

#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 10000;
use kqueue;
}
http {
include mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 512;
#log_format main '$remote_addr - $remote_user [$time_local] $request '
# '"$status" $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
tcp_nopush on;
#tcp_nodelay on;
keepalive_timeout 10;
reset_timedout_connection on;
resolver 127.0.0.1;
resolver_timeout 10s;

open_file_cache max=100000 inactive=40s;
open_file_cache_valid 60s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
gzip on;
server {
listen IP:80;
server_name site.ru www.site.ru;
charset utf-8;
location ~ \.php$ {
fastcgi_pass unix:/tmp/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME /path/to/www$fastcgi_script_name;
fastcgi_index index.php;
include fastcgi_params;
}
location / {
root /path/to/www;
index index.php index.html;
access_log off;
}
}

Boris A Dolgov
На сайте с 04.07.2007
Offline
215
#4

Два location /?

Уже странно :)

leenex2
На сайте с 12.03.2008
Offline
121
#5

Примерный аякс запрос

$.ajax({url: "file.xml", dataType: "xml", success: function(xml) {alert(xml);}});

Апач обрабатывает нормально.

А тут отклоняет разрешение.

Касательно логов - с ними проблемнее, у нас они по большей части отключены. В error логах nginx ничего не фиксируется. То есть файл отдается.

leenex2 добавил 03.02.2009 в 23:04

Boris A Dolgov:
Два location /?
Уже странно :)

Борис, там

location ~ \.php$ {🚬

leenex2 добавил 03.02.2009 в 23:08

Кстати, единственное что удалось найти в сети - на буржуйском блоге - совет при обработке запросов аякс добавить

fastcgi_hide_header X-Accel-Redirect;
fastcgi_hide_header X-Sendfile;

Эффекта ноль. Кодировка utf-8. файлы сообветствуют. BOM символы не присутствуют.

Boris A Dolgov
На сайте с 04.07.2007
Offline
215
#6

>Борис, там

%)

------

А чем обрабатывается file.xml? Рерайта нет, правила тоже, а должен же не статически отдаваться? Попробуйте вместо

location ~ \.php$ {

написать

location ~ \.(php|xml)$ {

leenex2
На сайте с 12.03.2008
Offline
121
#7
Boris A Dolgov:
>Борис, там
%)
------
А чем обрабатывается file.xml? Рерайта нет, правила тоже, а должен же не статически отдаваться? Попробуйте вместо
location ~ \.php$ {
написать
location ~ \.(php|xml)$ {

Вы имеете ввиду чем парситься file.xml?

Парсится ЯваСкриптом

>location ~ \.(php|xml)$

пробовали.

Boris A Dolgov
На сайте с 04.07.2007
Offline
215
#8
leenex2:
Вы имеете ввиду чем парситься file.xml?
Парсится ЯваСкриптом

>location ~ \.(php|xml)$

пробовали.

Нет, чем он обрабатывается сервером.

Но раз пробовали и не помогло - идей нет 😕

John Lee Hooker
На сайте с 18.10.2007
Offline
14
#9
leenex2:

Касательно логов - с ними проблемнее, у нас они по большей части отключены. В error логах nginx ничего не фиксируется. То есть файл отдается.

Точно, отдается? Если из адресной строки браузера запросить file.xml, такой же, как в AJAX-запросе, то отдает?

Andreyka
На сайте с 19.02.2005
Offline
822
#10

error_log смотрите

Не стоит плодить сущности без необходимости
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий