html - 弱弱的問一個跨域的問題
問題描述
比如,同一臺服務器上,網站主目錄綁定到www.domain.com上,網站后臺綁定到www.domain.com:8080上。
即便端口不同也會被當做跨域吧? 感覺這種情況跨域有點冤,而且POST也沒有不跨域方便吧?
各位大大有什么好辦法解決一下這個問題嗎,能通過某些設置而讓網站和后臺之間不跨域嗎?這種網站和后臺分離的方式遲早要面對跨域的問題,是嗎?
問題解答
回答1:跨站的解決方案很多,常見的是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
回答2:端口不同本來就是不同的站點,站點與站點之間就是跨域?。⊥ㄟ^分開前后臺,是可以讓網站比較安全,也可以分端維護,我覺得沒必要去用前端跨域請求后臺,這樣會把后臺曝露了,而且程序設計上也不應該通過前端跨域取數據吧!除非你數據庫是文件型數據庫Access或sqlite這類,那就是你設計上的問題,請求數據只需要有數據連接就可以的了。沒必要跨域。
相關文章:
1. javascript - 關于apply()與call()的問題2. java - 在用戶不登錄的情況下,用戶如何添加保存到購物車?3. javascript - nginx反向代理靜態資源403錯誤?4. java - spring boot 如何打包成asp.net core 那種獨立應用?5. docker網絡端口映射,沒有方便點的操作方法么?6. 安全性測試 - nodejs中如何防mySQL注入7. docker - 各位電腦上有多少個容器啊?容器一多,自己都搞混了,咋辦呢?8. 推薦好用mysql管理工具?for mac和pc9. Mysql 組合索引最左原則的疑惑10. javascript - 如何將函數計算出的內容傳遞為變量
