HTTP/0.9 200 OK
Vladimir Rusinov
vladimir на greenmice.info
Чт Окт 21 11:54:38 MSD 2010
Приветствую.
На одном из серверов периодически появляется проблема - иногда на запросы
(как к статике, так и к динамике) он отвечает HTTP/0.9 200 OK и пустым
телом.
Вот пример, пойманый одним из разработчиков (мне пока проблему поймать не
удалось):
[image: 09200.png]
Если картинку не видно - там скриншот из firebug, POST в
/logic?cmd=<xxx>&user_id=123<и так далее> со вполне вменяемыми заголовками
(единственная странность - Referer "http"). В ответе сервера - "HTTP/0.9 200
OK" и более ничего.
Сервер достаточно нагруженый, запрос делается из флешового приложения.
# nginx -V
nginx version: nginx/0.7.65
TLS SNI support enabled
configure arguments: --prefix=/usr --with-cc-opt=-I//usr/include
--with-ld-opt=-L//usr/lib --conf-path=/etc/nginx/nginx.conf
--http-log-path=/var/log/nginx/access_log
--error-log-path=/var/log/nginx/error_log --pid-path=/var/run/nginx.pid
--http-client-body-temp-path=/var/tmp/nginx/client
--http-proxy-temp-path=/var/tmp/nginx/proxy
--http-fastcgi-temp-path=/var/tmp/nginx/fastcgi
--without-http_fastcgi_module --without-http_gzip_module
--with-http_ssl_module --with-http_perl_module
--with-http_stub_status_module --without-mail_imap_module
--without-mail_pop3_module --without-mail_smtp_module
Конфиг довольно странный, писался не мной и имеет примерно следующий вид:
server {
listen 80;
server_name *.road404.ru "";
set $project "cdn";
if ($host ~* "flowergame\.ru$") {
set $project "flower";
<...>
if ($project = "cdn") {
rewrite ^/([^/]+)(.*) /static$2;
set $project $1;
}
set $debug "";
if ($host ~* "^test") {
set $debug "1";
}
location = / {
if ($project = "flower") {
rewrite .* "
http://www.facebook.com/apps/application.php?id=142492545782327"
permanent;
}
}
location / {
rewrite (.*) /static$1 last;
}
location /static {
root /opt/$project;
}
location /get_iframe {
rewrite [^\?]*(.*) /backend/get_iframe.php$1 last;
}
location /logic {
rewrite [^\?]*(.*) /backend/gateway.php$1 last;
}
<...>
location /backend {
internal;
set $partner "";
if ($host ~* "^(test\.)?ok\.") {
set $partner "odnoklassniki";
}
if ($host ~* "^(test\.)?mm\.") {
set $partner "mail";
}
if ($host ~* "^(test\.)?vk\.") {
set $partner "vkontakte";
}
if ($host ~* "^(test\.)?fb\.") {
set $partner "facebook";
}
proxy_redirect off;
proxy_set_header Partner $partner;
proxy_set_header Debug $debug;
proxy_set_header Secure "";
#proxy_set_header Host $host;
#proxy_set_header X-Real_IP $remote_addr;
if ($debug) {
rewrite /backend(.*) /$project/backend$1 break;
proxy_pass http://127.0.0.1:8000;
}
if ($partner != "") {
rewrite /backend(.*) /$project/backend$1 break;
proxy_pass http://backend_group;
}
}
Может ли такое поведение быть связано со странностью конфига. Что вообще
может заставить отвечать nginx именно так.
--
Vladimir Rusinov
http://greenmice.info/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20101021/0bb378ef/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 13019 bytes
Desc: not available
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20101021/0bb378ef/attachment-0001.png>
Подробная информация о списке рассылки nginx-ru