502 при попытке следовать за $ upstream_http_location в обратном прокси - PullRequest
0 голосов
/ 02 сентября 2018

Я пытаюсь использовать обратный прокси-сервер nginx для кэширования базы данных phishtank (https://data.phishtank.com:443/data/online-valid.json).. Проблема в том, что phishtank использует редирект 302, и в итоге я кэширую только 302. Поэтому я нашел это многообещающее решение в Google , но это всегда дает мне "502 Bad Gateway"

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=phish:10m;

server {
    listen 8080;

    location / {
       proxy_pass https://data.phishtank.com:443;
       proxy_cache phish;
       proxy_cache_key $uri;
       proxy_cache_valid 200 206 10m;
       proxy_intercept_errors on;
       recursive_error_pages on;
       error_page 301 302 307 = @handle_redirects;
    }

    location @handle_redirects {
       set $original_uri $uri;
       set $orig_loc $upstream_http_location;

       #return 200 $orig_loc;

       proxy_pass $orig_loc;
       proxy_cache phish;
       proxy_cache_key $original_uri;
       proxy_cache_valid 200 206 10m;
    }
}

С возвращением с комментариями я подтвердил, что переменная содержит правильный URL перенаправления.

К сожалению, в журналах не указана причина, по которой я получаю 502.

Редактировать: только что заметил, что я был не на том сайте, когда добавлял этот вопрос. Можно ли переместить его в суперпользователя?

...