初次配置Nginx反向代理,解決跨域時(shí)遇到了問(wèn)題
問(wèn)題描述
我想通過(guò) nginx 的反向代理功能,解決跨域請(qǐng)求的問(wèn)題
PM25 有一個(gè)開(kāi)放接口,只要使用 GET 請(qǐng)求對(duì)應(yīng)的 URL 就能返回對(duì)應(yīng)的 JSON 數(shù)據(jù)

我想通過(guò)自己的 nginx 做代理,訪問(wèn) 主域名下特定的 字段 ,從而獲取 PM25 的 JSON 數(shù)據(jù)
nginx.conflocation /get_aqi_details_hangzhou { proxy_pass http://www.pm25.in/api/querys/pm2_5.json?city=hangzhou&token=5j1znBVAsnSf5xQyNQyq; proxy_set_header Host $host;}
我想通過(guò)訪問(wèn) 主域名/get_aqi_details_hangzhou 去獲取這個(gè)數(shù)據(jù),每次配置完之后也重啟 nginx
在實(shí)際操作時(shí),始終無(wú)法成功,報(bào) 404
是什么原因?qū)е碌哪兀?/p>
問(wèn)題解答
回答1:沒(méi)見(jiàn)過(guò)這么用 proxy_pass 的。proxy_pass 的意思是,nginx 作為代理,把請(qǐng)求傳遞給指定的主機(jī)。所以你需要把請(qǐng)求路徑 rewrite 成它需要的那樣。
location /get_aqi_details_hangzhou {rewrite .* /api/querys/pm2_5.json?city=hangzhou&token=5j1znBVAsnSf5xQyNQyq break; proxy_pass http://www.pm25.in; }

網(wǎng)公網(wǎng)安備