- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
使用 node.js 和 letsencrypt.org 证书
var hardhttps=require('hardhttps');
hardhttps.globalAgent.options.ca=require('ssl-root-cas/latest').inject().addFile('/etc/letsencrypt/lets-encrypt-x3-cross-signed.pem');
var pem={
key:require('fs').readFileSync('/etc/letsencrypt/live/mysite.com/privkey.pem','utf8')
, cert:require('fs').readFileSync('/etc/letsencrypt/live/mysite.com/fullchain.pem','utf8')
, ca:require('fs').readFileSync('/etc/letsencrypt/lets-encrypt-x3-cross-signed.pem','utf8')
, pass:'xxxx'
}
var server=(hardhttps.createServer({key:pem.key,cert:pem.cert,ca:[pem.ca],passphrase:pem.pass})).listen(port);
var wss=new WebSocketServer({server:server});
我尝试连接的第二台服务器具有与自己的证书和代码完全相同的设置
当我尝试连接服务器到服务器时,它只是出错,显示[错误:无法获取颁发者证书]代码:'UNABLE_TO_GET_ISSUER_CERT'
用谷歌搜索一下! letsencrypt.org 甚至什么都没有出现,错误消息也没有任何线索!
我可以测试我可以访问的每个文件:
var test=require('fs').readFileSync('/etc/letsencrypt/lets-encrypt-x3-cross-signed.pem','utf8');
console.dir(test);//I see the pem!!!
可能是这一行,因为如果我删除它,我会得到同样的错误:
hardhttps.globalAgent.options.ca=require(__dirname+'/../node_modules/ssl-root-cas/latest').inject().addFile('/etc/letsencrypt/lets-encrypt-x3-cross-signed.pem');
我已将其链接到此,因为毫无疑问其他人可能需要解决方案 https://community.letsencrypt.org/t/error-unable-to-get-issuer-certificate-code-unable-to-get-issuer-cert/15342/3
最佳答案
本茨缪尔克罗夫特:
pem:{
key:require('fs').readFileSync('/etc/letsencrypt/live/mysite.com/privkey.pem','utf8')
, cert:require('fs').readFileSync('/etc/letsencrypt/live/mysite.com/fullchain.pem','utf8')//was chain.pen
, ca:require('fs').readFileSync('/etc/letsencrypt/lets-encrypt-x3-cross-signed.pem','utf8')
, pass:'xxxxxxxxxxx'
}
var ws=new require('ws')('wss://mysite:8004',{key:pem.key,cert:pem.cert,ca:[pem.ca],passphrase:pem.pass,requestCert:true});
无需进行任何设置。服务器 2 只是一个请求服务器 1 的 TLS 客户端,它不需要服务器的 key 或证书文件。您可能只想:
var ws=new require('ws')('wss://mysite1:8004');
不确定这是否是解决方法 - 试一试。
已修复!
连接到监听服务器的服务器不需要发送 pem 内容,但监听服务器确实需要有可用的 pem。
关于node.js - wss letsencrypt UNABLE_TO_GET_ISSUER_CERT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37039890/
我有一个以以下方式运行的简单docker容器: docker service create --name nginx_proxy \ --mount type=bind,source=/opt/n
所以我有一个在端口 443 上运行的 Apache 服务器和在最新版本的 Ubuntu 上安装的 NodeJS。现在我的一切都运行得很好,除了我运行 NodeJS 服务器的端口 100 上没有 SSL
所以我删除了证书,认为我需要这样做,因为我得到了一个新域名。我目前被当前错误困住了: Root@Site:~$ certbot-auto --apache -d example.io -d www.e
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我关注了this tutorial使用 NGINX Ingrss Controller 和带有 letsencrypt 的证书管理器为基本应用程序提供服务。 我可以访问该网站,但 SSL 证书已损坏,
我正在将我的网站推送到 Ubuntu 18.04 上的 AWS Lightsail 实例,但自从我安装了 LetsEncrypt(之前一切都很好)后,我无法访问它。 基本上,我没有得到任何回应,尽管看
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我正在尝试找出如何在不影响用户/客户的情况下将网站/服务器从 digitalocean Droplet 迁移到 Azure (AKS)。 digitalocean 配置具有由letsencrypt(通
我正在尝试找出如何在不影响用户/客户的情况下将网站/服务器从 digitalocean Droplet 迁移到 Azure (AKS)。 digitalocean 配置具有由letsencrypt(通
我正在遵循本指南:https://www.digitalocean.com/community/tutorials/how-to-set-up-let-s-encrypt-certificates-f
我在尝试运行命令时遇到这个奇怪的 letsencrypt 错误 $ certbot certonly --standalone --email example@gmail.com --agree-to
Closed. This question needs details or clarity。它当前不接受答案。
我正在尝试在 DigitalOcean 服务器上的 ubuntu 14 上安装 letsencrypt,但遇到了这个问题。 我尝试使用 sudo 安装但同样的错误,也尝试安装库但没有任何反应。 apt
我已经在我的服务器上安装了 SSL 来保护我的域,现在发生的事情是我在 Chrome 等中遇到了这个错误: Attackers might be trying to steal your inform
我目前在我的服务器上使用 letsencrypt 作为 SSL 证书。随着我服务器上的站点数量不断增加,安装运行 ssh 命令的证书变得非常耗时:letsencrypt。我必须手动取消选中我不想安装
当时,我无法再解决问题了……说真的,我太蠢了,检查了 letsencrypt ssl 并同时创建了一个自签名证书。但是,我认为我已经破坏了 SSL 配置。使用 letsencrypt 的其他域,除了一
我已经在 WHM 上安装了 lets encrypt,但它不适用于域。我希望每当我添加域(附加域)时,它都会被分配让加密但它会 self 分配,这表明网站不安全并且无法在 HTTPS 上运行。 我 c
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwa
我正在尝试在需要时自动为新服务器提供午餐,但在使服务器上线之前我在获取证书时遇到了一些困难。我想要做的是运行一个安装脚本,它准备好所有的包、网站和证书,然后将服务器添加到生产环境中。但是,Letsen
我有一个 digitalocean 服务器(ubuntu 16.4 nginx)+ serverpilot我按照站点教程安装了 letsencrypt:https://www.robertwent.c
我是一名优秀的程序员,十分优秀!