使用mkcert为你的localhost添加有效的HTTPS证书

原文地址:mkcert: valid HTTPS certificates for localhost, 原文作者:Filippo Valsorda
渣翻译,有英文阅读能力的可以去原网址阅读
自豪地采用谷歌翻译

在这里插入图片描述
网络移动到HTTPS协议后,需要防止网络攻击者观察或注入页面内容。但是HTTPS需要TLS证书,由于ACME协议和Let’s Encrypt,部署越来越成为一个已解决的问题。因为localhost不能获得一个有效的证书,部署环境大多数仍然最终会被承载在HTTP协议上。

这已经成为一个问题了,因为越来越多的浏览器功能是仅仅在安全域名下是可使用的。并且使用HTTP进行测试会隐藏任何可能破坏生产环境下HTTPS网站的混合内容问题。使用HTTPS进行开发应该像使用HTTPS进行部署一样简单。

mkcert就是为此而生。
在这里插入图片描述
mkcert是一个简单的设计工具,隐藏了生成有效TLS证书所需的所有神秘知识。它对任何主机地址或者IP,包括localhost都是生效的。因为它仅仅只是在你的电脑上工作。

$ mkcert example.com example-staging.appspot.com localhost
Using the local CA at "/Users/filippo/Library/Application Support/mkcert" ✨

Created a new certificate valid for the following names ?
 - "example.com"
 - "example-staging.appspot.com"
 - "localhost"

The certificate is at "./example.com+2.pem" and the key at "./example.com+2-key.pem"

需要注意:mkcert不会生成自签名的证书,证书签名是通过你自己的私有CA来做的。当你运行mkcert -install命令的时候,你的机器会自动配置好CA信任。因此当你的浏览器加载了由你的mkcert实例生成的证书时,浏览器将会显示一个绿色的锁标志。

$ mkcert -install
Using the local CA at "/Users/filippo/Library/Application Support/mkcert" ✨
The local CA is now installed in the system trust store! ⚡️
The local CA is now installed in the Firefox trust store (requires browser restart)! ?

mkcert支持macOS, Linux, Windows, Firefox, Chrome, Java,它也可以通过几个手动步骤工作在mobile devices

与OpenSSL不同,它默认配置是正确的,而不是强迫您使用十几个标志,并为每个证书实现配置文件(也就是说,它使用主题备用名称,而不是20年不推荐使用的通用名称)。

除了找出六个不同的根商店之外,该项目中最难的部分一直是保持工具简单和专注。 mkcert可能适用于合适的案例,例如充当微服务的CA基础架构,但这不是mkcert的用途。 mkcert是一个开发工具,它提供有用的默认值并将配置选项限制为几乎为零。 其他工具可以更好地填补其他空白。

在mkcert完成之前剩下一个功能:ACME服务器。 如果您正在生产环境中使用TLS证书,则可以通过ACME协议使用Let’s Encrypt认证。 开发和升级应该尽可能接近生产,因此mkcert很快将充当像Let’s Encrypt这样的ACME服务器,提供本地可信证书而无需验证。 然后你需要在更改开发环境和生产环境之间的ACME端的URL。

就目前而言,mkcert在经历了8个发行版和超过12K的star后,早已变得稳定了。你可以通过大多数系统包管理器或者使用预构建的库来安装mkcert在你的操作系统上。请在你的工作流程中尝试它,并反馈任何可使用方面的问题。你可以在Twitter上关注原文作者
在这里插入图片描述

posted @   西河  阅读(118)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示