让Chrome信任自签名证书(Unix系列OS)

背景

想在本地测试自己写的基于HTTPS连接的Web应用,跑在3001端口。但使用Chrome浏览器访问https://localhost:3001时显示连接不安全。
在这里插入图片描述

解决了但没解决

使用mkcert一键创建证书:

mkcert localhost 127.0.0.1

在当前目录下生成两个文件:localhost+1-key.pemlocalhost+1.pem,这里面+1表示附加1个SAN 条目(127.0.0.1)。
然后将本机mkcert添加到系统信任的根证书颁发机构:

mkcert --install

控制台显示

Created a new local CA 💥
Sudo password: (因为要修改系统信任,需要sudo权限)
The local CA is now installed in the system trust store! ⚡️

Mac用户可以在~/Library/'Application Support'/mkcert/中找到两个新生成的根证书rootCA-key.pemrootCA.pem,并且在 钥匙串访问-系统钥匙串-系统 找那个看到一个新的证书mkcert 本机名
【温馨提示】Mac的Finder默认隐藏Library文件夹,可以从 前往-前往文件夹… 中输入~/Library/‘Application Support’/mkcert/进入该文件夹。
在这里插入图片描述
双击rootCA.pem文件可进入 钥匙串访问 应用。
在这里插入图片描述
在服务器端代码中,使用

const key = await readFile("./certs/localhost+1-key.pem");
const cert = await readFile("./certs/localhost+1.pem");const httpsServer = createServer({key,cert
},(req, res)=>{});

根据别人的教程,到这问题就该解决了。但当我再使用Chrome浏览器访问https://localhost:3001时,仍然显示连接不安全。清除浏览器缓存没有用,检查浏览器信任证书也没有问题。

最终解决

再问Grok怎么为localhost生成自签名证书,发现它教我的命令中多了一个::1

mkcert localhost 127.0.0.1 ::1

这个::1是IPv6的本地回环地址。该命令执行后生成两个文件localhost+2-key.pemlocalhost+2.pem
在服务器代码中将localhost+1-key.pem, localhost+1.pem替换为localhost+2-key.pem, localhost+2.pem,再从浏览器中访问https://localhost:3001,就不会显示连接不安全了。

溯源

但为什么我的证书中已经签给了localhost,访问的也是localhost,但它非要验证IPv6证书的安全性呢?
打开浏览器的开发者工具,重加载页面,看 网络-请求-远程地址 栏目,发现当我们请求访问localhost的时候,浏览器默认将localhost解析为了IPv6的回环地址。(如果没有 远程地址 栏,可以通过 右键请求-标头选项 添加 远程地址)
在这里插入图片描述
主流浏览器(如 Chrome、Firefox、Edge)通常遵循操作系统的地址解析优先级。如果 localhost 解析到 ::1 且系统支持 IPv6,浏览器可能会首先尝试通过 ::1 连接。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/94134.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/94134.shtml
英文地址,请注明出处:http://en.pswp.cn/web/94134.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[江科大库]基于 OpenMV 的矩形识别与 STM32 串口通信(电子设计大赛实用教程)

🎯 基于 OpenMV 的矩形识别与 STM32 串口通信(电子设计大赛实用教程) 一、前言 在本科生电子设计大赛中,经常会遇到图像识别相关的任务,例如: 识别 矩形框(如识别一个 A4 纸、黑色标记框等); 将识别结果传输到 STM32 单片机,用于后续控制(舵机、移动小车、机械臂…

人脸识别驱动的工厂人体属性检测与预警机制

人体属性检测:人脸识别智慧检测驱动的工厂管理革新(所有图片均为真实项目案例)在制造业数字化转型浪潮中,人体属性检测技术已成为破解传统工厂管理难题的核心工具。通过融合人脸识别智慧检测、目标检测算法与多模态数据分析&#…

数据工程师——ETL

ETL面试题01 一、基础概念与理论类 1. 请解释什么是 ETL?它在数据处理流程中扮演什么角色? 答:ETL就是数据抽取、转化、加载。目的是将分散的数据源集中在一起进行处理分析。 数据抽取:是指各种数据源中抽取数据,包括关系型数据库(MySQL、Oracle等)、日志文件、Exce…

Oracle APEX 经典报表中的Checkbox

目录 1. 建表&投入测试数据 2. 经典报表做成 2-1. 画面布局如下​编辑 2-2. 报表使用的SQL 2-3. RS列的Heading设定 2-4. Function and Global Variable Declaration 2-5. Execute when Page Loads 2-6. Process 3. 运行效果​编辑 1. 建表&投入…

Codeforces Round 1043 (Div.3)

比赛连接:Codeforces Round 1043 (Div.3) A. Homework 题目链接:A - Homework Vlad and Dima have been assigned a task in school for their English class. They were given two strings aaa and bbb and asked to append all characters from bbb …

GPS欺骗式干扰的产生

我们在GNSS抗干扰天线的选型、测试方法以及为什么不能做RTK?(抗干扰内容全集)中提到的抗干扰天线,针对的是GPS压制式干扰。对于GPS欺骗式干扰,抗干扰天线是无能为力的。 简单来说,压制式干扰是通过发射强功…

[PV]AXI R/W/RW带宽计算的tcl脚本

AXI R/W/RW带宽计算的tcl脚本 我基于前述的axi_read_bw_per_id.tcl脚本进行了修改,使其支持: 读通道(Read Channel):计算基于rvalid && rready的有效周期(已在前述实现)。 写通道(Write Channel):计算基于wvalid && wready的有效周期,考虑wstrb的ac…

阿里云AnalyticDB同步数据至华为云taurusdb

1 概述 AnalyticDB和taurusdb都是高度兼容mysql协议的数据库,从现有的AnalyticDB官方数据同步方案来看,只有FlinkSQL合适。 同步方案官方文档: https://help.aliyun.com/zh/analyticdb/analyticdb-for-mysql/user-guide/flink-subscribes-b…

学习嵌入式之驱动——系统移植(二)

一、uboot常用命令与环境变量1.命令:(1)环境变量操作命令命令功能格式printenv 查看环境变量printenvsetenv新建/修改环境变量setenv 环境变量名 环境变量值saveenv保存环境变量saveenv(2)内存操作命令命令功能格式示例…

EasyExcel 合并单元格最佳实践:基于注解的自动合并与样式控制

EasyExcel 合并单元格最佳实践:基于注解的自动合并与样式控制 前言 在日常开发中,我们经常需要导出 Excel 报表,而合并单元格是提升报表可读性的常见需求。本文将介绍如何基于 EasyExcel 实现智能的单元格合并功能,通过自定义注解…

Unity设置UI显示区域

系列文章目录 untiy工具 文章目录 系列文章目录 👉前言 👉一、效果图 👉二、制作过程(检测中心点位置) 👉2-1、代码实现 👉三、优化为检测整个UI四个角点 👉四、性能优化建议 👉壁纸分享 👉总结 👉前言 思路: 获取屏幕的宽度和高度,定义中间区域的范围…

Qt中用于图像缩放的核⼼⽅法QPixmap::scaled

QPixmap::scaled是Qt中用于图像缩放的核⼼⽅法,其作⽤和⽤法如下:‌一、核心作用‌‌图像尺寸调整‌根据指定尺寸对图像进⾏等⽐例或⾮等⽐例缩放,⽀持放⼤和缩⼩操作。‌保持宽高比‌通过AspectRatioMode参数控制是否保持原始图像的宽⾼⽐。…

SQL Workbench/J:一款免费开源、跨平台的通用SQL查询工具

SQL Workbench/J 是一款基于 Java 开发的免费开源、跨平台的通用 SQL 查询工具。 SQL Workbench/J 主要专注于 SQL 脚本开发和数据导入导出功能,不提供各种数据库管理功能。 功能特性 跨平台:可以在任何安装了 Java 运行时环境的操作系统上运行&#xf…

DOLO 上涨:Berachain 生态爆发的前奏?

在 Berachain 生态逐渐进入公众视野之际,Dolomite(简称 Dolomite,代币 DOLO)成为链上表现最为突出的明星协议。其代币价格在短短两个月内,从 $0.03 飙升至 $0.3,涨幅接近 10 倍。市场不仅将其视作 Berachai…

吉利汽车与芯鼎微成立联合创新实验室共谱车规级LCoS显示新篇章

2025年8月20日,吉利汽车研究院技术规划中心副主任李莉、光学实验室负责人李金桦博士等一行四人莅临芯鼎微,双方共同为"吉利汽车-芯鼎微联合创新实验室"揭牌,标志着两家企业在车载先进显示技术领域迈入深度协同创新的新阶段。 在这汽…

NPM组件 @angular_devkit/core 等窃取主机敏感信息

【高危】NPM组件 angular_devkit/core 等窃取主机敏感信息 漏洞描述 当用户安装受影响版本的 angular_devkit/core 等NPM组件包时会窃取用户的主机名、用户名、IP地址信息并发送到攻击者可控的服务器地址。 MPS编号MPS-1jf5-s6ix处置建议强烈建议修复发现时间2025-08-14投毒…

docker cuda版安装 dockercuda版安装

目录 1.一键安装docker 测试ok 2.安装cuda支持 通用的应该没问题 安装工具包 配置 runtime: 3.检查 Docker 是否支持 NVIDIA 运行时 1.一键安装docker 测试ok curl -fsSL https://get.docker.com | sh 2.安装cuda支持 通用的应该没问题 也可以搜索安装 cuda版d…

Spring发布订阅模式详解

Spring 的发布订阅模式(Publish-Subscribe Pattern)是一种基于事件驱动的设计模式,通过 "事件" 作为中间载体实现组件间的解耦。在这种模式中,"发布者"(Publisher)负责产生事件并发布&…

服务器硬件中的磁盘SSD与HDD性能区别,以及分别适用于什么业务?

SSD(固态硬盘)和 HDD(机械硬盘)是服务器中常见的存储设备类型,两者在性能、可靠性、成本等方面存在显著差异。根据这些特性,它们适用于不同的业务需求。以下是详细的对比与应用场景分析:1. SSD …

AI驱动的SEO关键词优化秘籍

内容概要人工智能技术的飞速发展正重塑SEO关键词优化领域,为从业者带来全新机遇与挑战。本文将系统解析AI如何革新关键词策略,覆盖从语义搜索深度解析到长尾词智能挖掘的核心环节。通过工具驱动的内容优化路径,读者将掌握提升流量转化率的关键…