【问题标题】:How to make an ssl based tcp connection to memsql in Go如何在 Go 中建立与 memsql 的基于 ssl 的 tcp 连接
【发布时间】:2019-09-23 22:22:47
【问题描述】:

我正在尝试使用 Go 设置与 memsql 的基于 ssl 的 tcp 连接。

应用程序/服务作为 openshift pod 运行并用 Go 编写。

  1. 我可以从服务对 memsql 进行单向身份验证吗?
  2. 是否需要启用 memsql 中的任何端口来侦听基于 tls 的 ssl 连接?
  3. 除了将我的服务中的 DSN 更新为 tls=true 之外,还有什么方法可以自定义此配置。
  4. 有人可以建议一种在启用 ssl 的情况下连接到 memsql 的有效方法吗?

我已经关注 memsql documentation 并将证书插入到 memsql master 和 aggregator,并启用了权限检查,但我仍然能够进入 memsql 而无需在登录时提供 rootCertificate。

目前通过以下代码建立连接:

db, err := sql.Open("mysql", DSN) and
DSN=root:@tcp(IPAddress:3306)/riodev?interpolateParams=true&parseTime=true

【问题讨论】:

    标签: ssl go tcp singlestore


    【解决方案1】:
    1. 您能澄清一下您的问题是什么吗? SSL 认证是单向的,客户端验证服务器。服务器通过其登录信息验证客户端。

    2. 不,MemSQL 对 SSL 和非 SSL 连接使用相同的端口。

    3. 您可能还需要配置 SSL 证书,如https://github.com/go-sql-driver/mysql#tls 中所述。

    4. 大多数客户端库都支持使用 SSL 连接。

    我已按照 memsql 文档并将证书插入到 memsql 主服务器和聚合器,并启用了权限检查,但我仍然能够进入 memsql,而无需在登录时提供 rootCertificate。

    连接是否可能已经在使用 SSL?它可能在未验证证书的情况下使用 SSL 首选模式。

    【讨论】:

      猜你喜欢
      • 2021-05-20
      • 2012-10-01
      • 2012-11-11
      • 2015-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-13
      • 2020-04-05
      相关资源
      最近更新 更多