Переброс несуществующих запросов с nginx на apache

Долго искал решение этой проблемы, но в интернете об этом нечего нет (покрайней мере на русском языке) и решил написать о том как я решил эту проблему.

На самом деле это совсем не сложно как казалось мне в тот момент как мне об этом сообщил саппорт одного плагина.

Решается проблема правкой файла vhost самого домена (не трогаем настройки nginx а правим именно настройки для домена):

Изначально он такой:

server {
    listen   80;
    server_name site.ru;
  
    location / {
        proxy_pass  http://site.ru:8080;
        include     /nimp/component/nginx/conf/proxy.conf;
    }

    location ~* \.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|xml|docx|xlsx)$ {
        root /nimp/htdocs/site.ru/;
        
    }
}

Просто добавляем ещё одну секцию и получаем:

server {
    listen   80;
    server_name site.ru;
  
    location / {
        proxy_pass  http://site.ru:8080;
        include     /nimp/component/nginx/conf/proxy.conf;
    }

    location ~* \.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|xml|docx|xlsx)$ {
        root /nimp/htdocs/site.ru/;
        error_page 404 = @fallback;
    }    

    location @fallback {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Вот и весь секрет, я изначально пытался логически изменять секции, но это приводило лишь к тому что nginx просто не запускался…

Кстати аккумуляторные батареи apc battery можно использовать иначе — например запитать сервер на случай аварии на линии электро передач.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *