例如,同一台伺服器上,網站主目錄綁定到www.domain.com上,網站後台綁定到www.domain.com:8080上。
即便連接埠不同也會被當作跨域吧? 感覺這種狀況跨域有點冤,POST也沒有不跨域方便吧?
各位大大有什麼好辦法解決一下這個問題嗎,能透過某些設定而讓網站和後台之間不跨域嗎?這種網站和後台分離的方式遲早要面對跨域的問題,是嗎?
PHPz2017-05-16 17:12:52
跨站的解決方案很多,常見的是JSONP,代理轉發,還有就是HTLM5的Allow Orgin允許跨站存取的新功能。
你這種情況,建議在網站的Ngingx設定個代理,轉發到網站後台就可以了,配置大概是這樣的:
upstream backend {
server backend1.example.com:8080;
}
server {
location /api {
proxy_pass http://backend;
}
}
在前端頁面,透過ajax訪問的地址為:http://www.example.com/api/xxx
高洛峰2017-05-16 17:12:52
埠不同本來就是不同的站點,站點與站點之間就是跨域啊!透過分開前後台,是可以讓網站比較安全,也可以分端維護,我覺得沒必要去用前端跨域請求後台,這樣會把後台曝光了,而且程序設計上也不應該通過前端跨域取數據吧!除非你資料庫是文件型資料庫Access或sqlite這類,那就是你設計上的問題,請求資料只需要有資料連線就可以的了。沒必要跨域。