xarek1986
@xarek1986
Инженер

NGINX. Как отдавать статику через proxy_pass?

Салют!
Есть довольно простая конфигурация
location / { 
        proxy_pass http://172.16.18.20:7777/;
    }   

    location /i {
        proxy_pass http://172.16.18.20:7777/i/;
    }   

    location ~* /mw-config/ {
             return 444;                                                                                                                 
    }   
         
    location ~* /maintenance/ {
             return 444; 
                  
    }   

    location ^~ /wiki {
        try_files /exwiki/$uri /exwiki/$uri/ @exwiki;
    }   

    location @exwiki {
        rewrite /wiki(.*) /exwiki/index.php;
    }   

    location ~* \.php {
        include fastcgi_params;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_buffers 4 256k;
        fastcgi_busy_buffers_size 512k;
        fastcgi_pass unix:/var/run/php-fpm/www.sock;

    }

    location ~* \.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|js)$ {
        access_log      off;
        expires           max;
           
    }


в location /i тоже находится статика, которая должна отдаваться при обращении к корню сайта, вместо этого nginx пытается взять её из локального ROOT.
Подскажите, как мне организовать исключение, что бы при обращении к wiki статика бралась локально, а при обращении к / статика забиралась с удалённого сервера?
  • Вопрос задан
  • 1509 просмотров
Решения вопроса 1
xarek1986
@xarek1986 Автор вопроса
Инженер
Сам спросил, сам отвечу. Необходимо NGINX сказать, что при нахождении /i дальше не спускаться. Делается это методом
location ^~ /i{
    proxy_pass ......
}

Читайте маны господа
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы