html - 弱弱的問一個(gè)跨域的問題
問題描述
比如,同一臺服務(wù)器上,網(wǎng)站主目錄綁定到www.domain.com上,網(wǎng)站后臺綁定到www.domain.com:8080上。
即便端口不同也會被當(dāng)做跨域吧? 感覺這種情況跨域有點(diǎn)冤,而且POST也沒有不跨域方便吧?
各位大大有什么好辦法解決一下這個(gè)問題嗎,能通過某些設(shè)置而讓網(wǎng)站和后臺之間不跨域嗎?這種網(wǎng)站和后臺分離的方式遲早要面對跨域的問題,是嗎?
問題解答
回答1:跨站的解決方案很多,常見的是JSONP,代理轉(zhuǎn)發(fā),還有就是HTLM5的Allow Orgin允許跨站訪問的新功能。
你這種情況,建議在網(wǎng)站的Ngingx設(shè)置個(gè)代理,轉(zhuǎn)發(fā)到網(wǎng)站后臺就可以了,配置大概是這樣的:
upstream backend { server backend1.example.com:8080;}server { location /api {proxy_pass http://backend; }}
在前端頁面,通過ajax訪問的地址為:http://www.example.com/api/xxx
回答2:端口不同本來就是不同的站點(diǎn),站點(diǎn)與站點(diǎn)之間就是跨域啊!通過分開前后臺,是可以讓網(wǎng)站比較安全,也可以分端維護(hù),我覺得沒必要去用前端跨域請求后臺,這樣會把后臺曝露了,而且程序設(shè)計(jì)上也不應(yīng)該通過前端跨域取數(shù)據(jù)吧!除非你數(shù)據(jù)庫是文件型數(shù)據(jù)庫Access或sqlite這類,那就是你設(shè)計(jì)上的問題,請求數(shù)據(jù)只需要有數(shù)據(jù)連接就可以的了。沒必要跨域。
相關(guān)文章:
1. javascript - sublime快鍵鍵問題2. javascript - immutable配合react提升性能?3. 配置Apache時(shí),添加對PHP的支持時(shí)語法錯(cuò)誤4. 實(shí)現(xiàn)bing搜索工具urlAPI提交5. javascript - vue-router 地址改變數(shù)據(jù)未改變6. javascript - html5多個(gè)label中其中一個(gè)觸發(fā)change,如何判斷是哪一個(gè)出發(fā)了change7. javascript - 移動端上不能實(shí)現(xiàn)拖拽布局嗎?8. css - 寫頁面遇到個(gè)布局問題,求大佬們幫解答,在線等,急!~9. phpstudy8.1支持win11系統(tǒng)嗎?10. javascript - nodejs關(guān)于進(jìn)程間發(fā)送句柄的一點(diǎn)疑問

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