прокси nginx и редирект 404 - PullRequest
       31

прокси nginx и редирект 404

5 голосов
/ 26 ноября 2011

Привет, я хотел бы настроить свой сервер nginx на прокси для amazon S3 и сделать что-то вроде mod_rewrite в apache - если прокси для amazon равен 404 (файл не существует на amazon), то перенаправить меня на мой локальный файл.Это возможно сделать?

Это мой конфигурационный файл nginx:

upstream app{
 server 127.0.0.1:3000;
}

server {
  listen 0.0.0.0:80;
  server_name www.mypage.com mypage.com;
  access_log /var/log/nginx/mypagecom.log;

  location /photos{
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-NginX-Proxy true;
    proxy_pass http://amazons3.mypage.com/photos;
    proxy_redirect off;
    error_page 404 /myerrorfile.jpg;
  }
  location / {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-NginX-Proxy true;

    proxy_pass http://app;
    proxy_redirect off;
  }


}

Кто-нибудь может мне помочь?

1 Ответ

8 голосов
/ 26 ноября 2011

Добавьте

proxy_intercept_errors on;

к location /photos.Тогда ваш error_page 404 /myerrorfile.jpg будет работать, даже если ошибка 404 исходит от вышестоящего сервера.

...