我有一个 Google Cloud SQL 实例,我希望后端 API 和数据库之间的连接尽可能安全。我已在实例设置中指定“仅允许 SSL 连接”。我正在使用 Google 生成的 SSL 证书,但是我很难弄清楚如何安全连接。
当我使用以下方式连接时:
return mysql.createPool({
host: db_host,
port: 3306,
user: db_user,
password: db_password,
ssl: {
rejectUnauthorized: false,
key: clientKey,
cert: clientCert,
ca: serverCa,
},
});
Run Code Online (Sandbox Code Playgroud)
它工作正常,但是使用“rejectUnauthorized: false”显然不安全。
如果我删除“rejectUnauthorized: false”,则会收到错误
'Hostname/IP does not match certificate's altnames: IP: ##.##.##.## is not in the cert's list:'
Run Code Online (Sandbox Code Playgroud)
我似乎需要使用主机名进行连接,但是 Cloud SQL 没有提供使用主机名进行连接的选项。
有谁知道如何解决这个问题?