heroku Planetscale发布请求错误'客户端必须使用SSL/TLS'

vh0rcniy  于 2022-11-13  发布在  其他
关注(0)|答案(2)|浏览(190)

使用工具

  1. Planetscale MySQL云数据库
    1.特快专递
  2. swagger
    1.贺六
    我试图从postman和swagger api doc向服务器发送一个post请求。但是我得到了这两个错误。
unknown error: Code: UNAVAILABLE
server does not allow insecure connections, client must use SSL/TLS

我可以在使用localhost时发送帖子请求。但是在heroku上部署应用程序后,我就不能再这样做了。

owfi6suc

owfi6suc1#

documentation中解释如何加载certificates

const sequelize = new Sequelize({
    dialect: 'mysql',
    username: MYSQL_USER,
    password: MYSQL_PASSWORD,
    host: MYSQL_HOST,
    dialectOptions: {
        bigNumberStrings: true,
        ssl: {
          ca: fs.readFileSync(__dirname + '/ca-certificates.crt')
        }
    }
})
vom3gejh

vom3gejh2#

更快的解决方案是:

const sequelize = new Sequelize(
  "DATABASE_NAME",
  "USERNAME",
  "PASSWORD",
  {
    host: "HOST",
    dialect: "mysql",
    dialectOptions: {
      ssl: {
        rejectUnauthorized: true,
      },
    },
    define: {
      timestamps: false,
    },
  }
);

有了这个,我们就不需要导入证书了。

相关问题