Приветствую.<div><br></div><div>На одном из серверов периодически появляется проблема - иногда на запросы (как к статике, так и к динамике) он отвечает HTTP/0.9 200 OK и пустым телом.</div><div><br></div><div>Вот пример, пойманый одним из разработчиков (мне пока проблему поймать не удалось):</div>
<div><img src="cid:ii_12bcdbfc6410f109" alt="09200.png" title="09200.png"><br clear="all"><br><br></div><div>Если картинку не видно - там скриншот из firebug, POST в /logic?cmd=<xxx>&user_id=123<и так далее> со вполне вменяемыми заголовками (единственная странность - Referer "http"). В ответе сервера - "HTTP/0.9 200 OK" и более ничего.</div>
<div><br></div><div>Сервер достаточно нагруженый, запрос делается из флешового приложения.</div><div><br></div><div><div># nginx -V</div><div>nginx version: nginx/0.7.65</div><div>TLS SNI support enabled</div><div>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</div>
</div><div><br></div><div>Конфиг довольно странный, писался не мной и имеет примерно следующий вид:</div><div><br></div><div><div>server {</div><div> listen 80;</div><div> server_name *.<a href="http://road404.ru">road404.ru</a> "";</div>
<div><br></div><div> set $project "cdn";</div><div> if ($host ~* "flowergame\.ru$") {</div><div> set $project "flower";</div><div><...></div><div> if ($project = "cdn") {</div>
<div> rewrite ^/([^/]+)(.*) /static$2;</div><div><br></div><div> set $project $1;</div><div> }</div><div><br></div><div> set $debug "";</div><div> if ($host ~* "^test") {</div>
<div> set $debug "1";</div><div> }</div><div><br></div><div> location = / {</div><div> if ($project = "flower") {</div><div> rewrite .* "<a href="http://www.facebook.com/apps/application.php?id=142492545782327">http://www.facebook.com/apps/application.php?id=142492545782327</a>" permanent;</div>
<div> }</div><div> }</div><div><br></div><div> location / {</div><div> rewrite (.*) /static$1 last;</div><div> }</div><div><br></div><div> location /static {</div>
<div> root /opt/$project;</div><div> }</div></div><div><div> location /get_iframe {</div><div> rewrite [^\?]*(.*) /backend/get_iframe.php$1 last;</div><div> }</div><div><br>
</div><div> location /logic {</div><div> rewrite [^\?]*(.*) /backend/gateway.php$1 last;</div><div> }</div><div><br></div><div><...></div><div> location /backend {</div></div><div>
<div> internal;</div><div><br></div><div> set $partner "";</div><div> if ($host ~* "^(test\.)?ok\.") {</div><div> set $partner "odnoklassniki";</div>
<div> }</div><div> if ($host ~* "^(test\.)?mm\.") {</div><div> set $partner "mail";</div><div> }</div><div> if ($host ~* "^(test\.)?vk\.") {</div>
<div> set $partner "vkontakte";</div><div> }</div><div> if ($host ~* "^(test\.)?fb\.") {</div><div> set $partner "facebook";</div>
<div> }</div><div><br></div><div> proxy_redirect off;</div><div> proxy_set_header Partner $partner;</div><div> proxy_set_header Debug $debug;</div>
<div> proxy_set_header Secure "";</div><div> #proxy_set_header Host $host;</div><div> #proxy_set_header X-Real_IP $remote_addr;</div><div><br></div>
<div> if ($debug) {</div><div> rewrite /backend(.*) /$project/backend$1 break;</div><div><br></div><div> proxy_pass <a href="http://127.0.0.1:8000">http://127.0.0.1:8000</a>;</div>
<div> }</div><div> if ($partner != "") {</div><div> rewrite /backend(.*) /$project/backend$1 break;</div><div><br></div><div> proxy_pass <a href="http://backend_group">http://backend_group</a>;</div>
<div> }</div><div> }</div></div><div><br></div><div>Может ли такое поведение быть связано со странностью конфига. Что вообще может заставить отвечать nginx именно так.</div><div><br></div><div>-- <br>
Vladimir Rusinov<br><a href="http://greenmice.info/">http://greenmice.info/</a><br>
</div>