1.配置SSL证书使用HTTPS访问
生成域名对应的SSL证书,下载Apache版本,我目前只发现Apache这个里面有对应的私钥和证书
私钥重命名为private.key证书重命名为public.crt,不更改为指定格式则会无法被识别。
将公钥和证书放入root/.minio/certs文件夹中,此文件夹安装minio时自动生成的
重新启动minion可以看到启动日志中http变成了https,此时可以使用https://域名.com:9001进行访问了
2.MINIO SDK 忽略证书验证
在使用Java SDK与自签名证书的服务器进行通信时,一般可以通过自定义SSLContext来忽略证书验证。
MinIO的Java SDK(version 8.0.6及以上)允许自定义OkHttpClient,我们可以使用httpClient方法传递一个自定义的OkHttpClient实例。以便在HTTP、正常HTTPS和自签名HTTPS之间实现兼容性
下面是如何使用自定义的OkHttpClient实现对HTTP、正常HTTPS和自签名HTTPS的兼容性
@Configuration
@EnableConfigurationProperties(MinioProperties.class)
public class MinioConfig {
private static final Logger LOGGER = LoggerFactory.getLogger(MinioConfig.class);
@Bean
public MinioClient minioClient(MinioProperties properties){
properties.check();
// Create a trust manager that does not validate certificate chains
TrustManager[] trustAllCerts = new TrustManager[] {
new X509TrustManager() {
public X509Certificate[] getAcceptedIssuers() {
return new X509Certificate[0];
}
public void checkClientTrusted(X509Certificate[] certs, String authType) {
// Do nothing (trust any client certificate)
}
public void checkServerTrusted(X509Certificate[] certs, String authType) {
// Do nothing (trust any server certificate)
}