502在反向代理中尝试遵循$ upstream_http_location时

时间:2018-09-02 09:24:37

标签: nginx reverse-proxy

我正在尝试使用nginx反向代理来缓存phishtank数据库(https://data.phishtank.com:443/data/online-valid.json)。问题在于phishtank使用302重定向,而我最终只缓存了302。因此我在google上找到了这个有前途的解决方案,但它始终为我提供“ 502错误的网关”

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的任何原因。

编辑:只是在添加此问题时注意到我在错误的站点上。可以将其移给超级用户吗?

0 个答案:

没有答案