如何設置只能由其他內部服務調用的微服務。微服務不應該公開訪問,因爲它可以訪問具有祕密信息的數據庫。我已經試着用spring security來確保微服務的安全,但在這種情況下,我在FeignClient中遇到了有關授權的問題。春天 - 只能在內部訪問微服務
1
A
回答
0
假設你是無法解決這個問題,基礎設施 (這是解決這個問題的唯一正確途徑), 有幾個(壞)技術,您可以使用:
- IP地址白列表 - 創建一個良好的IP地址列表,拒絕來自不在列表中的地址的任何請求。
- IP地址區域 - 白名單的變化。創建部分IP地址列表,並拒絕與其中一個部分地址不匹配的任何請求。
- 僅限非路由IP - IP地址區域的變化。只接受來自非路由IP地址的請求(這些只能在本地網絡上)。這是一個Wiki page of non-routing IP addresses
- 魔法令牌。只接受包含特定令牌的請求。這特別糟糕,因爲有人可以看你的流量並發現令牌。
可能有其他的選擇,但隨着基礎設施去。
0
這實際上是一個基礎設施問題。通常情況下,您希望在內部擁有一個包含所有資源的專用網絡 - 所謂的De-Militarized-Zone或DMZ--然後擁有提供外部訪問的第二個網絡或端點網橋。內部網絡不應該從互聯網上到達。端點可以是單個服務器或作爲bastion主機實現的服務器陣列,並且將驗證和授權呼叫者並將呼叫轉發到合法的專用網絡。
API網關(或邊緣服務器)模式通常用於實現此目的。網關的良好配置非常重要。
這是一個article如何與亞馬遜雲做到這一點。
這裏是Kong的一個link,這是一個您可以自己部署的通用API網關。
相關問題
- 1. 訪問內部微服務
- 2. 使用HTTPS只有春天的雲微服務實例
- 3. 春天,來自服務內部的服務電話
- 4. 訪問Docker容器內的微服務?
- 5. 內部服務器錯誤在春天調用Ajax時
- 6. 訪問外部屬性春天
- 7. 春天不能休息服務
- 8. 內部NuGet服務器無法訪問
- 9. 只能從內部服務器
- 10. 只能通過代理啓用外部服務器訪問?
- 11. 訪問服務內部控制器
- 12. 服務的春天批註
- 13. 春天和休息服務
- 14. 自己的用戶界面與春天和Thymleaf的微服務
- 15. 春微服務:響應與信息來自其他微服務
- 16. 春天微服務,無狀態會話,角度和靜態文件服務
- 17. 微服務部署
- 18. 在春天訪問用戶ID
- 19. 訪問被拒絕在春天oauth 2
- 20. 在春天訪問Stomp頭文件
- 21. 訪問微軟的Outlook從Windows服務
- 22. 使用Spring Boot訪問微服務
- 23. 無法訪問註釋春季服務
- 24. 常春藤&服務器訪問錯誤
- 25. Ftp輪詢服務在春天Intellration
- 26. queryparm支持在春天RESTful Web服務
- 27. 在春天創建web服務mvc 2.5
- 28. 訪問服務層
- 29. 不能訪問內部子功能1 2的提供者在angularjs服務
- 30. 訪問外部服務
你的微服務和它所涉及的所有數據庫應該在防火牆後面。我不會只依賴Spring Security。 – duffymo
那麼最後唯一不在防火牆後面的是api網關嗎?感謝您的回答 –
我會有一個可以驗證和重定向的網關。 – duffymo