我有一個 ReactJS webapp 和一個用 ExpressJS 構建的后端 webapp。它們都作為不同的應用服務托管在 Azure 上。現在每個人都可以訪問 Express 應用程式的任何路線;每個路由都會從 Conteful API 回傳一些 json 資料。
我正在嘗試在 Azure 中為 Express 應用程式設定限制,以便只有我的 React 應用程式可以向它發出請求。
我發現您可以通過轉到 Networking 下的 Express 應用程式來執行此操作,在那里我添加了一條規則,并且我已將 React 應用程式的 IP 列入白名單,但是我現在在我的 React 應用程式中收到了 403 并且沒有得到從 Express 回傳的任何資料。
還有什么我必須做的嗎?
我還發現我的 Express 應用程式和 React 應用程式具有相同的虛擬 ip 地址和相同的出站 ip 地址。
有誰知道我如何在 Azure 中解決這個問題?
uj5u.com熱心網友回復:
使用 IP 地址很難應用您想要的安全性,因為許多 azure 應用程式服務(您的和其他人的)可能會共享相同的 IP 地址,并且可能會發生變化 - 例如,如果您升級到不同的 SKU。
相反,我建議將您的應用服務放在Azure 虛擬網路中,并使用訪問限制來控制對 ExpressJS 應用服務的訪問。
具體來說,我建議:
- 創建具有兩個子網的 azure vnet:
- 一個用于后端
- 一個用于前端,包括一個“Microsoft.Web”服務端點
- 將 ExpressJS 應用服務放在虛擬網路中,在后端子網中
- 將 ReactJS 應用服務放在前端子網中
- 為 ExpressJS 應用服務定義訪問限制,允許來自前端子網的流量并禁止所有其他傳入流量
- 不要為 ReactJS 應用服務定義任何訪問限制
最終結果:
- 互聯網流量可以達到ReactJS應用服務,而不是在ExpressJS應用服務。
- 來自 ReactJS 應用服務的流量可以到達 ExpressJS 應用服務
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/393246.html
