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. mysql - 記得以前在哪里看過一個估算時間的網站2. 關docker hub上有些鏡像的tag被標記““This image has vulnerabilities””3. docker-compose中volumes的問題4. angular.js - angular內容過長展開收起效果5. dockerfile - 為什么docker容器啟動不了?6. macos - mac下docker如何設置代理7. docker鏡像push報錯8. javascript - 能否讓vue-cli的express修改express重啟服務9. docker綁定了nginx端口 外部訪問不到10. 為什么我ping不通我的docker容器呢???
