首頁  >  問答  >  主體

html - 弱弱的問一個跨域的問題

例如,同一台伺服器上,網站主目錄綁定到www.domain.com上,網站後台綁定到www.domain.com:8080上。

即便連接埠不同也會被當作跨域吧? 感覺這種狀況跨域有點冤,POST也沒有不跨域方便吧?

各位大大有什麼好辦法解決一下這個問題嗎,能透過某些設定而讓網站和後台之間不跨域嗎?這種網站和後台分離的方式遲早要面對跨域的問題,是嗎?

phpcn_u1582phpcn_u15822714 天前485

全部回覆(2)我來回復

  • PHPz

    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

    回覆
    0
  • 高洛峰

    高洛峰2017-05-16 17:12:52

    埠不同本來就是不同的站點,站點與站點之間就是跨域啊!透過分開前後台,是可以讓網站比較安全,也可以分端維護,我覺得沒必要去用前端跨域請求後台,這樣會把後台曝光了,而且程序設計上也不應該通過前端跨域取數據吧!除非你資料庫是文件型資料庫Access或sqlite這類,那就是你設計上的問題,請求資料只需要有資料連線就可以的了。沒必要跨域。

    回覆
    0
  • 取消回覆