<br><br><div class="gmail_quote">27 апреля 2010 г. 16:56 пользователь Sergey Shepelev <span dir="ltr">&lt;<a href="mailto:temotor@gmail.com">temotor@gmail.com</a>&gt;</span> написал:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
2010/4/27 -=HaRius=- &lt;<a href="mailto:rh@nobrend.ru">rh@nobrend.ru</a>&gt;:<br>
<div class="im">&gt; хм...<br>
&gt;<br>
&gt; server {<br>
&gt; ...<br>
&gt; location / {<br>
&gt; ...<br>
&gt; proxy_intercept_errors off; # явно, если on - 404 явная nginx&#39;а страница<br>
&gt; error_page 404 =200 /404; # firebug все равно показывает 404<br>
&gt; ...<br>
&gt; }<br>
&gt; }<br>
&gt;<br>
<br>
</div>У вас нет location = /404.<br>
<br>
То есть вы хотите, чтобы при 404 от бекенда, nginx лез опять к бекенду<br>
с урлом /404 и вернул ответ как 200 ОК?<br>
<br>
То есть ту страницу, которую бекенд первый раз отдаёт с кодом 404 вы<br>
хотите просто проигнорировать? Не проще ли сразу вернуть там нужный<br>
контент?<br>
<div><div></div><div class="h5"><br>
&gt; 27 апреля 2010 г. 15:49 пользователь Igor Sysoev &lt;<a href="mailto:igor@sysoev.ru">igor@sysoev.ru</a>&gt; написал:<br>
&gt;&gt;<br>
&gt;&gt; On Tue, Apr 27, 2010 at 06:29:27AM -0400, harius wrote:<br>
&gt;&gt;<br>
&gt;&gt; &gt; в связи с модернизацией движка сайта нужно отвечать поисковика 200 на<br>
&gt;&gt; &gt; запрошенную старую ссылку.<br>
&gt;&gt; &gt; вроде все просто, смотрим в доку и пишем:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; error_page   404  =200  /404;  # /404 - урл отдает спец страничку с<br>
&gt;&gt; &gt; кодом 200<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; интегрируем в конфиг:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; limit_zone   myzone  $binary_remote_addr  10m;<br>
&gt;&gt; &gt; proxy_cache_path /home/xxx/domains/xxx/cache/proxy levels=1:2<br>
&gt;&gt; &gt; keys_zone=static:250m;<br>
&gt;&gt; &gt; proxy_cache_path /home/xxx/domains/xxxx/cache/maps/jams levels=2:2<br>
&gt;&gt; &gt; keys_zone=jams:250m inactive=15m;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; server {<br>
&gt;&gt; &gt;     listen xxx:80;<br>
&gt;&gt; &gt;     server_name xxx;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;     limit_conn   myzone  10;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;     access_log /var/log/nginx/domains/xxx.log combined;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;     charset utf-8;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;     set $tile_root /home/xxx/domains/xxx/cache/maps/tiles;<br>
&gt;&gt; &gt;     set $proxied_uri <a href="http://xxx" target="_blank">http://xxx</a>;<br>
&gt;&gt; &gt;     set $xmlrpc_proxied_uri <a href="http://xxx/points" target="_blank">http://xxx/points</a>;<br>
&gt;&gt; &gt;     set $editpoints_proxied_uri <a href="http://xxx/poimanager" target="_blank">http://xxx/poimanager</a>;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;     location ~* .*\/map\/navitms.fcgi$ {<br>
&gt;&gt; &gt;         set $fcgi_uri $uri;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;         if ($args ~*<br>
&gt;&gt; &gt; &quot;^t=([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2}),([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2}),([0-9]{2})$&quot;)<br>
&gt;&gt; &gt; {<br>
&gt;&gt; &gt;             set $tile_path $1/$5/$2/$6/$3/$7/$4/$8/$9.png;<br>
&gt;&gt; &gt;             rewrite ^.*$ /map/tiles/$tile_path last;<br>
&gt;&gt; &gt;             }<br>
&gt;&gt; &gt;         if ($args ~* &quot;^(j=[0-9]{8},[0-9]{8},[0-9]{2})(,[0-9]+)?$&quot;) {<br>
&gt;&gt; &gt;             set $args $1;<br>
&gt;&gt; &gt;             rewrite ^.*$ /map/jams/ last;<br>
&gt;&gt; &gt;             }<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;         return 404;<br>
&gt;&gt; &gt;         }<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;     location ~ (.*/img/poi/).*\.gif$ {<br>
&gt;&gt; &gt;         root /home/xxx/domains/xxx/html;<br>
&gt;&gt; &gt;         try_files $uri $1/1.gif =404;<br>
&gt;&gt; &gt;         }<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;     location /navitel/theme/navitel {<br>
&gt;&gt; &gt;         root /home/xxx/domains/xxx/html/map;<br>
&gt;&gt; &gt;         }<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;     location /map {<br>
&gt;&gt; &gt;         index manage.html;<br>
&gt;&gt; &gt;         root /home/xxx/domains/xxx/html;<br>
&gt;&gt; &gt;         }<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;     location /map/points {<br>
&gt;&gt; &gt;         proxy_cache off;<br>
&gt;&gt; &gt;         proxy_pass $xmlrpc_proxied_uri?$args;<br>
&gt;&gt; &gt;         }<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;     location /map/poimanager {<br>
&gt;&gt; &gt;         proxy_cache off;<br>
&gt;&gt; &gt;         proxy_pass $editpoints_proxied_uri?$args;<br>
&gt;&gt; &gt;         }<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;     location @proxy_tiles {<br>
&gt;&gt; &gt;         proxy_pass        $proxied_uri$request_uri;<br>
&gt;&gt; &gt;         proxy_store_access   user:rw  group:rw;<br>
&gt;&gt; &gt;         proxy_store       $tile_root/$tile_path;<br>
&gt;&gt; &gt;         }<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;     location ^~ /map/tiles/ {<br>
&gt;&gt; &gt;         internal;<br>
&gt;&gt; &gt;         alias $tile_root/;<br>
&gt;&gt; &gt;         if_modified_since before;<br>
&gt;&gt; &gt;         try_files $uri @proxy_tiles;<br>
&gt;&gt; &gt;         }<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;     location = /map/jams/ {<br>
&gt;&gt; &gt;         internal;<br>
&gt;&gt; &gt;         proxy_cache_valid  200 302  5m;<br>
&gt;&gt; &gt;         proxy_cache       jams;<br>
&gt;&gt; &gt;         proxy_pass        $proxied_uri$fcgi_uri?$args;<br>
&gt;&gt; &gt;         }<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;     location / {<br>
&gt;&gt; &gt;         proxy_pass <a href="http://localhost:8080" target="_blank">http://localhost:8080</a>;<br>
&gt;&gt; &gt;         proxy_redirect off;<br>
&gt;&gt; &gt;         proxy_set_header Host $host;<br>
&gt;&gt; &gt;         proxy_set_header X-Real-IP $remote_addr;<br>
&gt;&gt; &gt;         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br>
&gt;&gt; &gt;         client_max_body_size 500m;<br>
&gt;&gt; &gt;         # error_page   404 = /404; # все равно выдает 404 код<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; <a href="http://sysoev.ru/nginx/docs/http/ngx_http_proxy_module.html#proxy_intercept_errors" target="_blank">http://sysoev.ru/nginx/docs/http/ngx_http_proxy_module.html#proxy_intercept_errors</a><br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; Игорь Сысоев<br>
&gt;&gt; <a href="http://sysoev.ru" target="_blank">http://sysoev.ru</a><br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; nginx-ru mailing list<br>
&gt;&gt; <a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
&gt;&gt; <a href="http://nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://nginx.org/mailman/listinfo/nginx-ru</a><br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; nginx-ru mailing list<br>
&gt; <a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
&gt; <a href="http://nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://nginx.org/mailman/listinfo/nginx-ru</a><br>
&gt;<br>
&gt;<br>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://nginx.org/mailman/listinfo/nginx-ru</a><br>
</div></div></blockquote></div><br>