ITPub博客

首页 > 数据库 > > GS-00300 -- GS-00399-GS-00341 -- GS-00350

GS-00300 -- GS-00399-GS-00341 -- GS-00350

作者:GaussDB_数据库 时间:2020-01-09 13:41:08 0 删除 编辑

GS-00341:Failed to verify SSL certificate, reason %s

错误原因:客户端CA认证服务端SSL设备证书失败。

解决办法:参考表1中错误原因和对应建议解决。

表1 证书校验错误码参考

错误码解释

原理说明和排查建议

解决建议

unable to get issuer certificate

适用于多级证书链,对端只发送了设备证书,本端没有加载信任证书,或者加载的信任证书不是对端证书的颁发证书。

1、加载对方发送的设备证书的信任证书

2、将对端设备证书设置为本端信任证书颁发的设备证书,同时更新配套私钥。

unable to get certificate CRL

检查CRL的颁发者是否和设备证书的颁发者相同

如果需要检查证书吊销情况,需要加载和设备证书具有相同颁发者的CRL

self signed certificate in certificate chain

对端发过来的证书链有根信任证书,本端没有加载根信任证书,或者加载的根信任证书不是对端发送设备证书的颁发证书。

在本端加载根信任证书,保证本端加载的信任证书和对端发送的设备证书链能够组成一条完整的证书链,即从自签发证书开始直到设备证书之间所有证书都有颁发关系。

unable to get local issuer certificate

1、对端发送过来的证书链没有根信任证书,本端没有加载根信任证书,或者加载的根信任证书不是对端设备证书的颁发证书。

2、证书链上证书个数大于10

1、在本端加载根信任证书,保证本端加载的信任证书和对端发送的设备证书链能够组成一条完整的证书链,即从自签发证书开始直到设备证书之间所有证书都有颁发关系。

2、减少证书链上证书个数,数据库最大只支持深度为10的证书链。

certificate revoked

证书被撤销了,本端加载了吊销列表,且设备证书在撤销列表中

如果产品启用了吊销列表机制,那么产品就需要重新更新对端加载的设备证书。

certificate has expired

当前系统UTC时间在证书有效结束时间之后。

如果证书有效期设置错误,重新生成证书,保证证书有效期比当前时间晚

GS-00342:REPL_PORT is used for replication only, external service will be rejected

错误原因:客户端连接数据库时,使用的端口是REPL_PORT。

解决办法:REPL_PORT用于主备复制,不能用来提供外部服务,请使用LSNR_PORT连接数据库。

GS-00343:SSL is required but the server doesn't support it

错误原因:客户端请求建立SSL连接,但是服务端不支持SSL认证。

解决办法:

2、或者设置客户端SSL校验模式为DISABLED,禁用SSL连接,JDBC客户端请在url中设置useSSL=false,注意:禁用SSL连接将降低数据通信的安全性。

GS-00344:SSL CA certificate is required when ssl_mode is SSL_VERIFY_CA or SSL_VERIFY_FULL

错误原因:客户端没有配置CA证书。

解决办法:

  1. 请确保客户端CA证书配置正确。

  2. 或者更改客户端SSL认证模式为REQUIRED或者更低级别,注意:降低SSL认证级别将无法认证服务端身份。

GS-00345:The SSL connection failed, %s

错误原因:SSL链接失败,一般发生于SSL握手阶段,服务端认证客户端证书失败,失败原因根据'%s'对照表1。

解决办法:

  1. 使用openssl命令检查客户端设备证书的有效性,如果校验失败请更新SSL证书。

  2. 关闭服务端认证客户端能力,配置SSL_VERIFY_PEER=FALSE,注意:关闭服务器对端认证能力将无法认证客户端身份。

GS-00346:SSL certificate file \"%s\" has execute, group or world access permission

错误原因:SSL证书访问权限超过600。

解决办法:使用chmod命令更改SSL证书访问权限为属主只读(400)或者属主读写(600)

GS-00347: SSL encrypted connection is required for user \"%s\" from \"%s\"

错误原因:服务端配置了SSL用户IP白名单,要求建立SSL连接,但是客户端禁用了SSL连接,导致连接失败。

解决办法:客户端启用SSL功能重新连接。

  • 对于zsql客户端,需要设置ZSQL_SSL_MODE为PREFERRED或者更高级别。
  • c/python/go驱动需要设置GSC_ATTR_SSL_MODE值为1或者更高级别。
  • jdbc驱动设置连接url的参数值useSSL=true。

GS-00348: Failed to bind unix domain socket for %s, error code %d

错误原因:绑定unix domain socket文件失败。

解决办法:检查unix domain socket 文件路径是否已经存在,是否拥有权限

  • 根据错误码排查,如果是13,表示文件没有权限,说明UDS_FILE_PERMISSIONS配置错误。
  • 如果是19,表示UDS_FILE_PATH配置文件目录不存在。

GS-00349: unix domain socket conflict %s

错误原因:unix domain socket 文件路径监听冲突。

解决办法:多个数据库实例监听相同uds path,修改UDS_FILE_PATH配置。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3147898/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-01-06

  • 博文量
    2907
  • 访问量
    19194