Страница-заглушка

antbofh nginx-forum на nginx.us
Чт Дек 3 17:38:44 MSK 2009


Есть задача - сделать страничку-заглушку для кластера, если все сервера в списке LoadBalancer'а недоступны, то он форвардит на эту страничку (с надписью Sorry, service unavailable), однако есть некоторые вызовы, которые должны возвращать ответ в формате JSON, а некоторые в формате XML-RPC, также нужно выдавать нормально папку с картинками, для этого есть конкретные урлы, но вот засада... nginx выдает 403ю ошибку на них (а иногда 301 и форвардит на http://nginx/ - этого я вообще не понимаю =\)
вобщем вот то, что есть:
        server {
                listen          10.21.22.43:80;

                access_log      /var/log/nginx/gzone.access_log main;
                error_log       /var/log/nginx/gzone.error_log info;

                root /opt/NVIDIA/GTL/Nginx;
                error_page 405 /json.html;

                location /gzone.html {
                        root    /opt/NVIDIA/GTL/Nginx/;
                        expires 1s;
                        break;
                }
                location /json.html {
                        root    /opt/NVIDIA/GTL/Nginx/;
                        expires 1s;
                        break;
                }
                location /gzone/jscript/extlib/resouces/images/ {
                        root    /opt/NVIDIA/GTL/Nginx/;
                        expires 1s;
                        break;
                }

                if ($document_uri = '/gzone/search/requests.php') {
                        rewrite ^/(.)+$ /json.html permanent;
                        break;
                }
                if ($document_uri = '/gzone/search/lookups.php') {
                        rewrite ^/(.)+$ /json.html permanent;
                        break;
                }
                if ($document_uri = '/gzone/search/searchlib.php') {
                        rewrite ^/(.)+$ /json.html permanent;
                        break;
                }
                location / {
                        rewrite ^/(.)*$ /gzone.html break;
                }
        }

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,27724,27724#msg-27724




Подробная информация о списке рассылки nginx-ru