javascript
Spring Cloud Ribbon –进行安全呼叫
很簡單,但是最近我為此感到困惑 –我必須對安全的遠(yuǎn)程服務(wù)進(jìn)行基于Netflix Ribbon的客戶端調(diào)用。 事實(shí)證明,使用Netflix Ribbon可以通過兩種方式實(shí)現(xiàn)這一點(diǎn),我將通過Spring Cloud對Ribbon庫的出色支持來演示這一點(diǎn)。
在之前的兩個博客文章中,我繼續(xù)介紹了Spring Cloud Ribbon的基礎(chǔ)知識和一些高級自定義 ,并繼續(xù)同一示例,并假設(shè)我具有以下幾方面的配置:
sampleservice:ribbon:listOfServers: someserver:80ReadTimeout: 5000MaxAutoRetries: 2有了這個配置,我可以這樣調(diào)用服務(wù):
public class RestTemplateSample {@Autowiredprivate RestTemplate restTemplate;@Overridepublic MessageAcknowledgement sendMessage(Message message) {String pongServiceUrl = "http://sampleservice/message";HttpEntity<Message> requestEntity = new HttpEntity<>(message);ResponseEntity<MessageAcknowledgement> response = this.restTemplate.exchange(pongServiceUrl, HttpMethod.POST, requestEntity, MessageAcknowledgement.class, Maps.newHashMap());return response.getBody();}}因此,現(xiàn)在,如果遠(yuǎn)程服務(wù)受到保護(hù),則第一種方法(可能是首選方法)實(shí)際上非常簡單,只需向“命名”客戶端添加其他配置以表明遠(yuǎn)程服務(wù)是安全的,請注意,端口也必須是安全的。適當(dāng)指定。
sampleservice:ribbon:listOfServers: someserver:443ReadTimeout: 5000MaxAutoRetries: 2IsSecure: true第二種有效的方法是簡單地更改url以指示您正在調(diào)用https端點(diǎn),這一次不需要“ IsSecure”配置:
public class RestTemplateSample {@Autowiredprivate RestTemplate restTemplate;@Overridepublic MessageAcknowledgement sendMessage(Message message) {String pongServiceUrl = "https://sampleservice/message";HttpEntity<Message> requestEntity = new HttpEntity<>(message);ResponseEntity<MessageAcknowledgement> response = this.restTemplate.exchange(pongServiceUrl, HttpMethod.POST, requestEntity, MessageAcknowledgement.class, Maps.newHashMap());return response.getBody();}}翻譯自: https://www.javacodegeeks.com/2016/02/spring-cloud-ribbon-making-secured-call.html
總結(jié)
以上是生活随笔為你收集整理的Spring Cloud Ribbon –进行安全呼叫的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑硬盘西数蓝盘(西数蓝盘和移动硬盘)
- 下一篇: jasperreports_Jasper