我正在構建一個單頁應用程序(使用AngularJS),它可以將數據從REST API調用到遺留系統。這個遺留系統非常大,用Java編寫,需要幾分鐘時間才能部署,所以我們認爲開發完全獨立於遺留系統的單頁應用程序會更有成效。部署依賴rest api的單頁應用程序的一些技巧是什麼?
一旦我們嘗試與遺留系統的REST API進行通信,就會出現問題。雖然這兩個應用程序都在本地部署到同一主機,但它們部署在不同的應用程序服務器上,因此我需要在通信時使用不同的端口。但是,由於SPA正在與另一個端口上的REST API進行通信,瀏覽器阻止了我的請求防禦Cross Site Scripting攻擊。
我們發現這個構建工具名稱爲lineman(即利用grunt),可以輕鬆代理http請求。這讓我們瞭解了跨站腳本的限制,但這隻適用於開發模式。
既然我們已經有了一個概念驗證的工作,我們想知道我們應該如何在沒有代理的情況下將這些應用程序部署在一起。我很難找到關於如何做到這一點的建議,因爲Angular並不認爲你有第一個後端,大部分在前端使用Angular的人都沒有在後端使用Java(如果這很重要的話) 。
我們正在運行到喜歡的應用程序上下文路徑問題的變化取決於他們是否部署在PROD模式VS開發模式,使我們的寶貝,想起巧妙的方法來避免兩種模式工作,斷開鏈接。我想知道我是否在這裏沿着這個方向走錯了一步。我應該避免在與後端分開的服務器上開發SPA嗎?
好吧,當您部署到生產環境時,您的角度應用程序是否與您的舊應用程序在同一個戰爭中? –
角度應用程序與傳統應用程序是完全不同的應用程序。角度應用程序本質上只是一個以用戶界面爲中心的應用程序,只要知道正確的基本URL,即可從傳統應用程序獲取所有數據。它從它自己產生的應用程序獲取基本URL。 – BoxerBucks
那麼您如何避免生產中的所有XSS問題?你是否也在生產中運行代理? –