搜尋

首頁  >  問答  >  主體

初次配置Nginx反向代理,解決跨域時遇到了問題

我想透過 nginx 的反向代理功能,解決跨域請求的問題

PM25 有一個開放接口,只要使用 GET 請求對應的 URL 就能返回對應的 JSON 資料

#

我想透過自己的 nginx 做代理,存取 主網域下特定的 欄位 ,從而取得 PM25 的 JSON 資料

nginx.conf

location /get_aqi_details_hangzhou 
            {
             proxy_pass http://www.pm25.in/api/querys/pm2_5.json?city=hangzhou&token=5j1znBVAsnSf5xQyNQyq; 
             proxy_set_header Host $host;    
            }

我想透過存取 主網域/get_aqi_details_hangzhou 去取得這個數據,每次配置完之後也重啟 nginx

在實際操作時,始終無法成功,報 404

是什麼原因導致的呢?

ringa_leeringa_lee2805 天前523

全部回覆(1)我來回復

  • PHPz

    PHPz2017-05-16 17:26:16

    沒看過這麼用 proxy_pass 的。 proxy_pass 的意思是,nginx 作為代理,把請求傳遞給指定的主機。所以你需要把請求路徑 rewrite 成它需要的那樣。

            location /get_aqi_details_hangzhou {
                    rewrite .* /api/querys/pm2_5.json?city=hangzhou&token=5j1znBVAsnSf5xQyNQyq break; 
                    proxy_pass http://www.pm25.in; 
            }
    

    回覆
    0
  • 取消回覆