Yii2 elasticseach ssl认证配置及源码修改

后面做了优化,修改源码,建议采用优化后的方法

1、修改本地es连接配置(源码示例容易误导,看源码读取配置后才正确配置):
在这里插入图片描述

2、修改protocol设置,yii2中es连接之前会获取所有的可连接es集群,因为es不存在protocol属性,源码中手动设置为http,这个地方作者考虑补全,没有采用本地配置的protocol,因此要修正:
在这里插入图片描述

3、修改curl请求的证书认证,增加三个opt选项,CURLOPT_SSL_VERIFYPEER=true,设置为要验证证书,CURLOPT_SSL_VERIFYHOST=false,设置为不验证证书hostname是否一致,CURLOPT_CAINFO配置证书的路径:
在这里插入图片描述

注意:在es中的官网中提及,如果返回空回应,则说明es的认证配置成功。如果取不到数据,那么就需要考虑其他问题了,比如第2步中修改protocol为https才能拿到数据。
在这里插入图片描述

优化:

1、修改后的main-local.php配置。上面第2步中修改protocol设置,其实是自以为找到了源码作者疏忽的地方,其实更简便的办法是修改组件配置的defaultProtocol为https,就像下面配置中那样。
在这里插入图片描述

2、当然,把protocol设置为https后,大家肯定是希望使用ssl加密访问了。那下面就以它为参考,在源码中增加ssl的扩展配置。

  • 新增一个组件配置sslExtension,并让他与其他配置一起生效
  • 修改配置项

在这里插入图片描述
在这里插入图片描述

3、测试通过,结果与未优化之前是一样的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值