初次配置Nginx反向代理,解決跨域時遇到了問題
ringa_lee
ringa_lee 2017-05-16 17:24:16
0
1
440

我想透過 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_lee
ringa_lee

ringa_lee

全部回覆(1)
PHPzhong

沒看過這麼用 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; 
        }
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!