Приветствую.<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=&lt;xxx&gt;&amp;user_id=123&lt;и так далее&gt; со вполне вменяемыми заголовками (единственная странность - Referer &quot;http&quot;). В ответе сервера - &quot;HTTP/0.9 200 OK&quot; и более ничего.</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> &quot;&quot;;</div>
<div><br></div><div>        set $project &quot;cdn&quot;;</div><div>        if ($host ~* &quot;flowergame\.ru$&quot;) {</div><div>        set $project &quot;flower&quot;;</div><div>&lt;...&gt;</div><div>        if ($project = &quot;cdn&quot;) {</div>
<div>                rewrite ^/([^/]+)(.*) /static$2;</div><div><br></div><div>                set $project $1;</div><div>        }</div><div><br></div><div>        set $debug &quot;&quot;;</div><div>        if ($host ~* &quot;^test&quot;) {</div>
<div>                set $debug &quot;1&quot;;</div><div>        }</div><div><br></div><div>        location = / {</div><div>                if ($project = &quot;flower&quot;) {</div><div>                        rewrite .*      &quot;<a href="http://www.facebook.com/apps/application.php?id=142492545782327">http://www.facebook.com/apps/application.php?id=142492545782327</a>&quot;       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>&lt;...&gt;</div><div>        location /backend {</div></div><div>
<div>                internal;</div><div><br></div><div>                set $partner &quot;&quot;;</div><div>                if ($host ~* &quot;^(test\.)?ok\.&quot;) {</div><div>                        set $partner &quot;odnoklassniki&quot;;</div>
<div>                }</div><div>                if ($host ~* &quot;^(test\.)?mm\.&quot;) {</div><div>                        set $partner &quot;mail&quot;;</div><div>                }</div><div>                if ($host ~* &quot;^(test\.)?vk\.&quot;) {</div>
<div>                        set $partner &quot;vkontakte&quot;;</div><div>                }</div><div>                if ($host ~* &quot;^(test\.)?fb\.&quot;) {</div><div>                        set $partner &quot;facebook&quot;;</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  &quot;&quot;;</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 != &quot;&quot;) {</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>