当前位置: 首页 > 面试题库 >

使用Godaddy gd_bundle.crt运行SSL node.js服务器

席乐童
2023-03-14
问题内容

我无法让我的SSL服务器与Godaddy的证书一起使用

使用Express:3.1.0

在此之下,可以使用本地生成的密钥/ crt /未经go daddy签名的密钥/ crt(浏览器会抱怨,但是如果添加异常,它将起作用。

var http = require('https');    
var privateKey  = fs.readFileSync('/var/www/dev/ssl/server.key').toString();
    var certificate = fs.readFileSync('/var/www/dev/ssl/server.crt').toString();
    var credentials = {key: privateKey, cert: certificate};
    var https = http.createServer(credentials, app);

通过Godaddy,我提供了一个额外的文件gd_bundle.crt,我相信您可以像这样实现,但是我遇到了错误

var http = require('https');
    var privateKey  = fs.readFileSync('/var/www/prod/ssl/mysite.key').toString();
    var certificate = fs.readFileSync('/var/www/prod/ssl/mysite.com.crt').toString();
    var ca = fs.readFileSync('/var/www/prod/ssl/gd_bundle.crt').toString();
    var credentials = {key: privateKey, cert: certificate, ca: ca};
    var https = http.createServer(credentials, app);

通过这种配置,我得到:错误107(net :: ERR_SSL_PROTOCOL_ERROR):SSL协议错误。

说实话我不是在创建他们的devops家伙要的密钥/证书…我不确定如果我错误地实现了Godaddy的密钥或者是否有办法确保他正确设置密钥/
crt文件,该如何解决....

有人公然看到明显错误的东西吗?


问题答案:

节点要求将CA链中的每个证书分别在数组中传递。 gd_bundle.crt可能看起来像这样:

-----BEGIN CERTIFICATE-----
MIIE3jCCA...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEADCCA...
-----END CERTIFICATE-----

每个证书都需要放在自己的文件中(即gd1.crtgd2.crt)并分别读取。

https.createServer({
    key: fs.readFileSync('mysite.key'),
    certificate: fs.readFileSync('mysite.crt'),
    ca: [fs.readFileSync('gd1.crt'), fs.readFileSync('gd2.crt')]
});


 类似资料:
  • ~/tests>uname-a Linux ghopper-K52F 4.10.0-40-generic#44-Ubuntu SMP Thu 11月9日14:49:09 UTC 2017 x86_64 x86_64 x86_64 gnu/Linux 我想用chromedriver启动服务器 null 附言。我在另一台电脑上做同样的事情,对我来说一切都很好。我认为问题出在环境上,而不是服务器的配置上

  • 您好,我正试图在JBoss developer studio和Wildfly 11上构建一个简单的JaxRs web服务作为应用程序服务器,但我在尝试部署maven项目时遇到以下错误:

  • 简述 Swoft 拥有便捷的命令行工具和相应的服务管理命令,参阅 Swoft Devtool 了解更多。 HTTP 服务 # 启动 HTTP 服务 $ php ./bin/swoft http:start # 以守护进程模式启动 $ php ./bin/swoft http:start -d # 重启 HTTP 服务 $ php ./bin/swoft http:restart # 重新加载

  • 问题内容: 当我尝试检入机器B时,我正在从机器A运行python manage.py runserver。我键入的URL是http:// A:8000 / 我收到类似系统返回的错误:(111)连接被拒绝 问题答案: 你可以通过以下方式为网络中的计算机运行它 这样一来,你就可以从网络中的任何计算机访问服务器。只需在浏览器中的其他机器上键入你服务器的IP地址…就可以开始使用…了。 或者在你的情况下:

  • 我有一个简单的API函数如下, 我使用命令启动服务器, 由于我们不直接调用任何 python 文件,因此无法从 Pycharm 调用 命令。 那么,我怎样才能运行快速的api服务器使用Py

  • 这里有一些在服务器运行 WSGI 应用的方式。当你正在开发一个应用,你往往不想在一个成 熟服务器上部署和运行,取而代之的是一个轻量服务器。 Werkzeug 就内置了这样一个轻量 的服务器。 在一个服务器上运行 start-myproject.py 最简单的方法如下示例: #!/usr/bin/env python # -*- coding: utf-8 -*- from werkzeug.se