首页  >  问答  >  正文

我们如何在 Gramex 的 FormHandler 中将 SSL 参数传递给 MySQL?

我使用此 gramex.yaml 配置连接到 OTP 的 MySQL 数据库:

otp:
    url: 'mysql+pymysql://$USER:$PASS@$MYSQL_SERVER/$DB'
    table: $TABLE

当 Gramex 启动时,它会报告异常:

InternalError: (pymysql.err.InternalError) (3159, 'Connections using insecure transport are prohibited while --require_secure_transport=ON.')

这个答案建议传递一个虚拟的 ssl: 字典。

如何将其传递给 Gramex 的 FormHandler?

P粉558478150P粉558478150181 天前336

全部回复(1)我来回复

  • P粉592085423

    P粉5920854232024-04-03 12:30:52

    有两种可能性。如果您没有用于连接数据库的 SSL 证书,请使用:

    otp:
      url: 'mysql+pymysql://$USER:$PASS@$MYSQL_SERVER/$DB'
      table: $TABLE
      connect_args:
        ssl:
          fake_flag_to_enable_tls: true
    

    如果您有 PEM 格式的 SSL CA 证书,请使用:

    otp:
      url: 'mysql+pymysql://$USER:$PASS@$MYSQL_SERVER/$DB'
      table: $TABLE
      connect_args:
        ssl_ca: /path/to/ca-certificate.pem
    

    您可以将任何其他参数传递给 pymysql 连接对象 .

    回复
    0
  • 取消回复