- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试创建到谷歌云中的 SQL 实例 的 SSL 连接。我正在使用 node.js、typescript 和 typeorm 作为 orm。
我想使用 ormconfig.json 来完成。 <强> official documentation 说这是可能的,但它只使用一个参数(CA 文件)。我需要使用 3 个 SSL 文件:server-ca.pem、client-cert.pem 和 client-key.pem。
我可以使用以下 mysql 命令连接:
"mysql -uroot -p -h 35.225.71.53 --ssl-ca=server-ca.pem --ssl-cert=client-cert.pem --ssl-key=client-key.pem"
我尝试使用这个 ormconfig.json,但没有成功:
{
"type": "mysql",
"host": "IP",
"port": 3306,
"username": "user",
"password": "password",
"database": "database",
"ssl": {
"ca": "path/to/server-ca.pem",
"cert": "path/to/server-cert.pem",
"key": "path/to/erver-key.pem"
}
...
}
和其他组合。
我在执行命令(例如:typeorm migration:run)时收到的错误是:
typeorm migrations:run
Error during migration run:
{ Error: error:0906D06C:PEM routines:PEM_read_bio:no start line
at Object.createSecureContext (_tls_common.js:104:17)
at createSecureContext (C:\Users\Lucas\Desktop\koa\cloudfunctions\functions\node_modules\mysql\lib\Connection.js:466:19)
at PoolConnection._startTLS (C:\Users\Lucas\Desktop\koa\cloudfunctions\functions\node_modules\mysql\lib\Connection.js:282:5)
at Handshake.<anonymous> (C:\Users\Lucas\Desktop\koa\cloudfunctions\functions\node_modules\mysql\lib\protocol\Protocol.js:172:24)
at emitNone (events.js:106:13)
at Handshake.emit (events.js:208:7)
at Handshake.HandshakeInitializationPacket (C:\Users\Lucas\Desktop\koa\cloudfunctions\functions\node_modules\mysql\lib\protocol\sequences\Handshake.js:78:10)
at Protocol._parsePacket (C:\Users\Lucas\Desktop\koa\cloudfunctions\functions\node_modules\mysql\lib\protocol\Protocol.js:291:23)
at Parser._parsePacket (C:\Users\Lucas\Desktop\koa\cloudfunctions\functions\node_modules\mysql\lib\protocol\Parser.js:433:10)
at Parser.write (C:\Users\Lucas\Desktop\koa\cloudfunctions\functions\node_modules\mysql\lib\protocol\Parser.js:43:10)
--------------------
at Protocol._enqueue (C:\Users\Lucas\Desktop\koa\cloudfunctions\functions\node_modules\mysql\lib\protocol\Protocol.js:144:48)
at Protocol.handshake (C:\Users\Lucas\Desktop\koa\cloudfunctions\functions\node_modules\mysql\lib\protocol\Protocol.js:51:23)
at PoolConnection.connect (C:\Users\Lucas\Desktop\koa\cloudfunctions\functions\node_modules\mysql\lib\Connection.js:119:18)
at Pool.getConnection (C:\Users\Lucas\Desktop\koa\cloudfunctions\functions\node_modules\mysql\lib\Pool.js:48:16)
at C:\Users\Lucas\AppData\Roaming\npm\node_modules\typeorm\driver\mysql\MysqlDriver.js:764:18
at new Promise (<anonymous>)
at MysqlDriver.createPool (C:\Users\Lucas\AppData\Roaming\npm\node_modules\typeorm\driver\mysql\MysqlDriver.js:761:16)
at MysqlDriver.<anonymous> (C:\Users\Lucas\AppData\Roaming\npm\node_modules\typeorm\driver\mysql\MysqlDriver.js:274:51)
at step (C:\Users\Lucas\AppData\Roaming\npm\node_modules\typeorm\node_modules\tslib\tslib.js:133:27)
at Object.next (C:\Users\Lucas\AppData\Roaming\npm\node_modules\typeorm\node_modules\tslib\tslib.js:114:57) code: 'HANDSHAKE_SSL_ERROR', fatal: true }
C:\Users\Lucas\Desktop\koa\cloudfunctions\functions>
最佳答案
在 SSL options 的 TypeORM 文档中,他们提到:
Please note the arguments expect a string of the certificate, not a file name to the certificate.
因此您需要加载文件以连接到 Google Cloud SQL 实例,而不仅仅是提供路径:
const fs = require("fs");
{
"type": "mysql",
"host": "IP",
"port": 3306,
"username": "user",
"password": "password",
"database": "database",
"ssl": {
"ca": fs.readFileSync(__dirname + '/server-ca.pem'),
"cert": fs.readFileSync(__dirname + '/client-cert.pem'),
"key": fs.readFileSync(__dirname + '/client-key.pem'),
}
...
}
关于mysql - 是否可以通过 ssl 将 typeorm 连接到 sql gcloud 的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56708811/
我在 Cloudflare 的域名服务器上有一个域名 example.com。该域指向我的专用服务器的 IP 地址,该服务器运行 CentOS/WHM/cPanel。该站点可访问 - 一切都很好。 我
我正在努力将 SSL 支持添加到我们现有的应用程序中,并已开始考虑向后兼容性。 与我读过的其他帖子不同的一个特殊情况是服务器可能不一定使用 SSL 代码更新。所以我将有一个 SSL 客户端连接到一个对
我有几个 https://*.rest-service.mydomain.com。随着服务数量的增加,我觉得管理 SSL 证书的成本很高。我为 *.mydomain.com 购买了通配符证书。 新添加
我的客户要求我在他的网站上做反向 ssl。但我是这个学期的新手。谁能帮我解决这个问题。 请描述或引用如何做。 最佳答案 查看 this wiki article . In the case of se
关闭。这个问题是opinion-based .它目前不接受答案。 想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它. 去年关闭。 Improve this
我连接到我的网络服务器上的存储库,但是当我尝试推送我的更改时,它显示:“错误 403:需要 ssl”,但在我的存储库设置中我已经激活了 ssl 选项。 有什么建议吗? 最佳答案 当您连接到存储库时,您
抱歉,如果这听起来像是转储问题,我已经阅读了很多关于 SSL 握手和 SSL 工作原理的文章和文档。我对一件事感到困惑,如果有人能澄清我就太好了。 我知道私钥要保密。但是我已经看到通过在请求中指定私钥
随着物联网越来越主流,越来越需要从硬件发送http请求。 一个主要问题是硬件微 Controller 无法发送 ssl 请求,但大多数服务器/网站/服务都在使用 ssl。 所以,问题是,有没有桥(一个
我有一个 ssl 页面,它还从非 ssl 站点下载头像。我能做些什么来隔离该内容,以便浏览器不会警告用户混合内容吗? 最佳答案 只是一个想法 - 或者: 尝试在头像网站上使用 ssl url,如有必要
我在 Digital Ocean droplet(使用 nginx)上设置了两个域。我已经在其中一个(domain1)中安装了一个 SSL 证书,并且那个证书一切正常。第二个域 (domain2) 不
我收到这个错误: Error frontend: 502 Bad gateway 99.110.244:443 2017/09/28 13:03:51 [error] 34080#34080: *10
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 6 年前。 Improve
我遇到了一个问题,我正在构建一个 nginx 反向代理以定向到不同 url 路径上的多个微服务。 该系统完全基于 docker,因此开发和生产使用相同的环境。这在安装 SSL 时给我带来了问题,因为
所以我知道要求 SSL 证书和接受之间的根本区别,一个意味着您必须拥有 SSL 证书,另一个意味着您不需要。 在某个网页的 IIS 管理器中,我有以下设置: 我遇到的问题是,当我设置需要 SSL 证书
我今天才发现 .app 域名需要 SSL 证书。我购买它是为了将 DNS 重定向到已经设置了 SSL 证书的站点,所以我的问题是是否可以设置它? 我正在使用 Google Domains,在将合成临时
堆栈 : react ,NGINX 1.14.0,GUnicorn,Django 2.2.8,Python 3.6.9 错误 : 在浏览器:当 React 调用 Django API(当然是在请求头中
假设我在计算机上编辑主机文件以使 google.com 指向我的 VPS 服务器 IP,并且服务器具有通过 Apache 或 Nginx 配置的 google.com 的虚拟主机/服务器 block
我有一个场景,我正在处理用于 URL 路由的 IIS 网站配置。我已添加网站并在服务器上导入所需的证书。 我的情况是(我有多个网站 URL 和两个 SSL 证书 - 如下所示): qatest1.ab
我知道服务器发送的证书无法伪造(仍然存在 MD5 冲突,但成本高昂),但是伪造客户端又如何呢?在中间人攻击中:我们不能告诉服务器我们是合法客户端并从该服务器获取数据并对其进行操作,然后使用合法客户端公
我已通读相关问题,但无法完全找到我要查找的内容。我设置了一个名为“domain.com”的域,并创建了两个子域“client.domain.com”和“client-intern.domain.com
我是一名优秀的程序员,十分优秀!