Node.js 自签名证书在我的浏览器中仍然显示为“不受信任”

2023-12-14

我正在运行 Node.js 服务器,并且尝试在本地托管该服务器并且不会收到任何 SSL 错误。

这是我创建证书的过程。我在 Visual Studio Code 中打开终端并输入以下内容:

$ openssl req -nodes -new -x509 -keyout server.key -out server.cert

这在我的当前目录中创建了一个 .cert 和一个 .key 文件。

接下来,在我的 app.js 文件中,我添加了以下内容:

https.createServer({
  key: fs.readFileSync('./server.key'),
  cert: fs.readFileSync('./server.cert')//,
  //passphrase: ''
}, app)
.listen(3000);

然后我运行命令node app.js在我的终端窗口中启动 Node.js 服务器。

然后我访问了https://localhost:3000/并收到以下信息 - 请注意“不安全” - 这就是我想要摆脱的:

enter image description here

此时,我进行了一些谷歌搜索,发现导出此证书并直接导入 Chrome 可能会有所帮助。我通过单击“不安全”按钮并单击证书来完成此操作:

enter image description here

然后,单击“详细信息”和“复制到文件”:

enter image description here

然后,我单击下一个屏幕上的“下一步”并选择DER encoded binary X.509 (.CER):

enter image description here

我单击“下一步”并将导出的证书命名为 serverMike.cer:

enter image description here

然后,我单击“下一步”和“完成”:

enter image description here

导出成功:

enter image description here

最后,我在 Chrome 设置中导入此导出的证书,并选择“受信任的根证书颁发机构”作为放置此证书的位置:

enter image description here

然后我单击“下一步”和“完成”。我关闭了 Chrome 并重新打开它,访问了https://本地主机:3000并收到相同的“不安全”消息。我可能做错了什么吗?


第0步:这不是一个编程问题

第 1 步:如果您没有明显抑制该错误,您应该会看到“不安全”错误page以前说 NET::ERR_CERT_AUTHORITY_INVALID,现在说 NET::ERR_CERT_COMMON_NAME_INVALID,如果您单击“高级”,它会显示“此服务器无法证明它是 [域];其安全证书未指定主题备用名称。”

第 2 步:查看
https://serverfault.com/questions/845766/generate-a-self-signed-cert-with-openssl-that-works-in-chrome-58
https://serverfault.com/questions/880804/can-not-get-rid-of-neterr-cert-common-name-invalid-error-in-chrome-with-self
https://security.stackexchange.com/questions/89319/creating-my-own-ca-for-an-intranet https://security.stackexchange.com/questions/172440/generate-x509-err-cert-common-name-invalid
https://security.stackexchange.com/questions/74345/provide-subjectaltname-to-openssl-directly-on-the-command-line
https://security.stackexchange.com/questions/113484/followup-to-one-liner-to-create-cert-request-with-san
Chrome 接受自签名本地主机证书

顺便说一句:由于这是本地的,因此您无需在导入之前从浏览器中导出证书。如果您创建证书来自openssl req ... -x509 ...带扩展.cer or .crt,或者以这种方式重命名或复制它,您只需双击然后导入到 TrustedRoots 即可。或者为了any您可以运行 MMC 并选择证书,或者直接运行 certmgr.msc,然后从那里导入。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Node.js 自签名证书在我的浏览器中仍然显示为“不受信任” 的相关文章

随机推荐

  • Spring Boot、JPA 和 Ignite

    原因 org springframework data mapping PropertyReferenceException 找不到类型为 Person 的属性保存 Entity Entity public class Person imp
  • 如何不对连续数据(INTS、FLOATS、DATETIME,...)进行标准化?

    根据我的理解 如果我错了 请纠正我 标准化 是从数据库设计中删除冗余数据的过程 然而 当我尝试学习数据库优化 调整性能时 我遇到了里克 詹姆斯先生推荐against标准化连续值 例如 INTS FLOATS DATETIME 正常化 但不要
  • 将 C++ DLL 与 VB6 结合使用

    我刚刚在 MSVC 2010 中为我的老板创建了一个 DLL 我选择了 New Win32 DLL 和 Export Symbols 选项 所以 一切都是完全标准的 新项目文件中有一些预定义的导出 一个类 它的构造函数 一个全局函数和具有虚
  • Inno Setup 脚本中的基本电子邮件验证

    我想在 Inno Setup 脚本中进行基本的字符串验证 以相对确定该字符串是电子邮件地址 我只想看到有一个 字符后跟一个 字符 并且在这些字符的两侧至少有一个字符 与此正则表达式类似的东西 object pascal 中缺少正则表达式和有
  • 最佳实践 - 只下载您需要的 CSS,还是使用缩小过程?

    在改善的背景下overall站点性能 下载和渲染速度 以下两个最佳实践之间似乎存在矛盾 仅降低正在查看的页面所需的 CSS 因为CSS规则过多导致渲染速度慢 始终缩小 CSS 并将其合并到一个文件中 因为更多的请求意味着更慢的页面加载 现在
  • 如何在 Selenium 中获得“nth-of-type”

    我正在使用 Selenium Webdriver 检查此特定段落的文本 此处以蓝色突出显示的段落 但我如何 查询 该段落呢 这就是我正在尝试的 不起作用 def test intro text self Test that intro te
  • 设置 jwplayer youtube 视频播放质量

    我正在使用 jw 播放器播放 youtube 视频 但我需要视频开始以高清 720p 播放 我使用以下代码 div div 但我收到以下错误 回调事件处
  • 基于身份列的 JPA 派生列值

    JPA 2 0 Hibernate 4 2 4 Final Spring 3 2 8 Release Mysql 5 6 对于具有自动生成主键的托管实体 E 例如 Id GeneratedValue private int id Colum
  • SAXParser '&' 连接问题

    我目前正在将 SAXParser 与 SAXParserFactory 一起使用 并且遇到了字符串在 符号处被截断的问题 例如 国家创造了我们的世界及其中的一切 变成 其中的一切 显然 我不希望这种情况发生 在 xml 输入中 字符被正确转
  • 这个类应该使用数据锁定进行多线程吗?

    我有一个包含一些数据的类 并且有很多线程使用它 class MyClass static Dictionary
  • 使用“VNImageHomographAlignmentObservation”类合并图像

    我正在尝试使用合并两个图像VNImageHomographicAlignmentObservation 我目前得到的 3d 矩阵如下所示 simd float3x3 0 99229 0 00451023 4 32607e 07 0 0043
  • 简单列表到数据框

    假设我有一个列表 red red 1 red blue 3 red yellow 2 blue red 3 blue blue 1 blue yellow 4 yellow red 2 yellow blue 4 yellow yellow
  • jq 中包含“@”和“-”的转义字段名称? [复制]

    这个问题在这里已经有答案了 输入 JSON abc def ghi value1 xyz value2 我正在努力获得领域的价值 def ghi 0 echo abc def ghi value1 xyz value2 jq abc xyz
  • 如何制作一个从服务器读取电子邮件的PHP脚本?

    当我用户发送电子邮件至 电子邮件受保护 php 脚本读取电子邮件的信息并自动重播给用户 编辑 当有人向我发送电子邮件时 有什么方法可以 电子邮件受保护 将调用一个脚本 这比每 5 秒使用 cron 作业更好 Cheer 正如已经建议的 检查
  • 修复基于光盘的缓存大小的最佳方法是什么?android-volley

    1 android volley 中基于磁盘的缓存的默认实现分配的总内存为 5MB 2 但是我正在开发的应用程序包含很多图像 所以我想增加基于磁盘的缓存分配的内存大小 3 所以我想增加缓存的大小 我可以通过更改 Diskbasedcache
  • 使用 Jersey 的 Java Web 服务

    我们尝试通过以下链接使用 Jersey 和 Tomcat 在 Java 中创建示例 Web 服务 helloworld http www vogella de articles REST article html http www ibm
  • 这里应该使用表值参数吗?

    我有以下查询 UPDATE students SET IsDeleted 1 WHERE StudentId IN SELECT StudentId FROM Class where PassId IN SELECT Id FROM Cla
  • AS3:setSelection 向上箭头覆盖

    当按下向上箭头时 我想关注 TextField 的末尾 我在用着 txt setSelection txt text length txt text length 这对于除向上箭头之外的任何键都非常有效 我相信当焦点处于文本字段的开头时 向
  • C++ 中的 MATLAB 函数 [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 有谁知道我们可以获得的资源FREEMATLAB 函数的 C 库 例如 线性代数问题可以使用 LAPACK 和 BLAS 来解决 另外 NET 项目中的 MATLAB 也是不可能的 我
  • Node.js 自签名证书在我的浏览器中仍然显示为“不受信任”

    我正在运行 Node js 服务器 并且尝试在本地托管该服务器并且不会收到任何 SSL 错误 这是我创建证书的过程 我在 Visual Studio Code 中打开终端并输入以下内容 openssl req nodes new x509