Это старая версия документа!


Проксирование запроса на внешний сервер

Бывает такое что по какой-либо причине неохота переносить файлы с картинками или файлы закачанные пользователями сайта. Или необходимо показать картинки со старого сайта OLD-DOMAIN, но чтоб при этом адрес сайта в запросах был изменен на DOMAIN.

server {

                listen [[IP]]:80;
                server_name [[DOMAIN]];
                root /home/[[DOMAIN]]/httpdocs/web;
                index index.php;

                access_log /var/log/nginx/[[DOMAIN]].access.log;
                error_log  /var/log/nginx/[[DOMAIN]].error.log error;

                charset utf-8;
                #charset        windows-1251;


                location / {
                        index index.php;
                        try_files $uri $uri/ /index.php?$query_string;
                }

                #отключаем обработку запросов фреймворком к несуществующим статичным файлам
                location ~ upload/ {
                        expires 30d;
                        log_not_found off;
                        access_log off;
                        add_header X-media-header media-header-content;

                        proxy_pass http://127.0.0.1:80;
                        proxy_redirect off;
                        proxy_hide_header "Cache-Control";
                        add_header Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0";
                        proxy_hide_header "Pragma";
                        add_header Pragma "no-cache";
                        add_header Last-Modified $sent_http_Expires;
                        proxy_set_header Host [[OLD-DOMAIN]];
                        proxy_set_header X-Real-IP $remote_addr;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                        break;
                }
}