問題
在先前的分享的跨域資源共享的文章中,有提到要注意跨域時,如果要發送cookie,access-control- allow-origin就不能設為*,必須指定明確的、與請求網頁一致的網域名稱。在此次專案開發中與他人協作中就遇到此類問題。
解決想法
#一般來說,與後台利用cors跨域資源共享將access- control-allow-origin設定為訪問的網域即可,這個需要後台的配合,而且有些瀏覽器是不支援的。
基於與合作方後台的配合,利用nginx方向代理來滿足瀏覽器的同源策略來實現跨域
# #實作方法
反向代理程式概念
利用nginx反向代理實現跨域的步驟
http { include mime.types; default_type application/octet-stream; sendfile on; server { listen 8000; #监听8000端口,可以改成其他端口 server_name localhost; # 当前服务的域名 location /wili/api/ { proxy_pass http://chick.platform.deva.wili.us/api/; #添加访问路径录为/will/api的代理配置 proxy_http_version 1.1; } location / { proxy_pass http://localhost:8001; proxy_http_version 1.1; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }
#需要注意的一點是nginx啟動可能會衝突連接埠造成啟動不成功,可在任務管理器查看是否啟動成功。
以上是如何利用Nginx反向代理解決跨域問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!