OpenFegin系列文章
第二章 OpenFeign修改默认通讯协议Https
前言
在使用OpenFeign时,默认的通讯协议为HTTP。如果需要修改通讯协议,例如改为HTTPS,则需要进行如下操作:
使用步骤
一、修改Feign客户端接口
在定义Feign客户端接口时,我们需要指定服务的URL地址。如果需要使用HTTPS协议,则需要将URL地址中的http改为https。
@FeignClient(name = "user-service", url = "https://localhost:8080")
public interface UserServiceClient {
@GetMapping("/users/{id}")
User getUserById(@PathVariable("id") Long id);
@PostMapping("/users")
User createUser(@RequestBody User user);
}
上面的代码中,我们将服务的URL地址修改为https://localhost:8080,从而使用HTTPS协议进行通讯。
二、配置SSL证书
1.引入库
如果服务端启用了SSL证书,则客户端需要将证书文件导入到本地的证书库中。在Spring Boot中,我们可以通过在application.properties文件中配置来实现证书导入。
代码如下(示例):
server.ssl.key-store=classpath:keystore.p12
server.ssl.key-store-password=password
server.ssl.keyStoreType=PKCS12
server.ssl.keyAlias=mykey
上面的配置中,我们指定了证书文件的位置、密码、类型和别名。
2.修改Ribbon负载均衡器配置
在OpenFeign中,默认使用了Ribbon负载均衡器。如果需要使用HTTPS协议,则需要将Ribbon的配置中的通讯协议也修改为HTTPS。
代码如下(示例):
user-service.ribbon.listOfServers=https://localhost:8080
user-service.ribbon.NIWSServerListClassName=com.netflix.loadbalancer.ConfigurationBasedServerList
上面的配置中,我们将Ribbon负载均衡器的服务器地址修改为https://localhost:8080,并且指定了使用ConfigurationBasedServerList作为服务列表获取器。。
总结
通过以上操作,我们可以修改OpenFeign的默认通讯协议为HTTPS。
需要注意的是,在使用HTTPS协议时,需要配置SSL证书,
并且需要将Ribbon负载均衡器的配置中的通讯协议也修改为HTTPS。