Переброс несуществующих запросов с 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 можно использовать иначе — например запитать сервер на случай аварии на линии электро передач.