详细了解 在开发中使用 HTTPS 的好处 ,并尝试一下: 只需 2 分钟即可将您的应用程序切换到 HTTPS 。
Anchor 为内部 TLS 提供托管私有 证书颁发机构 (CA) 。 作为安全产品和托管 SaaS 应用程序,我们在安全应用程序开发上投入了大量精力。 从处理签署证书的私钥,到管理仪表板中的细粒度访问凭证,我们采取严格的方法来保护堆栈所有层的开发安全。 保持我们的开发、登台和生产环境同步(又名 开发/产品奇偶校验 )有助于防止仅在生产中出现的错误。
为了实现完整的开发/产品对等,我们使用 HTTPS 来获取安全的浏览器上下文,而不仅仅是 安全的特殊情况 localhost 浏览器上下文 。
在构建 lcl.host 之前,我们使用自签名的 app.localhost 证书,但这些证书有一些缺点:
由于我们已经在开发服务之间内部使用了 Anchor 私有 CA,因此我们知道它可以解决其中一些问题。 但单独的私有 CA 并不是一个完整的解决方案。 因此,我们构建了 lcl.host,我们认为这是在开发中的应用程序中设置和使用 HTTPS 的最佳方式:
我们很高兴与您分享! 要在开发中设置 HTTPS,请安装 Anchor CLI 工具链,运行 anchor lcl ,然后按照说明进行操作。 就是这样!
$ brew install anchordotdev/tap/anchor $ anchor lcl
或者, 则从源代码安装。 如果无法选择 Homebrew,
正在加载... 使用 lcl.host 将 HTTPS 添加到 Next.js 应用程序
lcl.host 结合了用于您的个人开发环境的 Anchor 管理的私有 CA、 用于将子域解析到本地系统的lcl.host DNS 区域以及用于管理本地信任存储的 Anchor CLI。
个性化私有CA
当您注册 Anchor 帐户时,我们会自动为您提供一个“localhost”CA。 这个专用的私有 CA 提供开发环境之间的可移植性,并且可以 100% 免费地与无限数量的开发应用程序一起使用。 不过,这个 CA 有一些限制:它只能为 lcl.host 和 localhost 的子域颁发证书,但这就是本地开发所需的全部。
anchor lcl mkcert 命令是使用 Anchor 的零挑战 ACME 流程获取开发证书的最简单方法。 其他 ACME 客户端 工具(如 certbot 和 acme.sh) 也运行良好,但我们建议将 ACME 客户端集成到您的应用程序中,以允许自动证书配置和续订。 别担心,当您运行 anchor lcl setup 时,我们也会引导您完成该操作。
lcl.host DNS 区域
所有 lcl.host 子域解析为 127.0.0.1 相同的地址 ,与localhost 。 的直接替代品 这些子域也无需 HTTPS 即可工作,使其成为localhost 。 要将它们与 HTTPS 一起使用,您将需要系统信任的子域的证书。 您的个人 CA 处理第一部分,Anchor CLI 负责您系统的信任存储。
信托商店
信任存储管理一组根证书(也称为 信任锚 ),浏览器和其他客户端使用这些证书来验证服务器提供的证书。 一些信任存储集成到操作系统中(MacOS 上的 Keychain),其他信任存储基于文件/目录( Debian 系统上的/etc/ssl/certs/ ),甚至是自定义数据库格式(例如 NSS/Firefox 的 certdb)。 保持每个信任存储的最新状态过去需要大量重复的手动工作,但 Anchor CLI 可以自动化整个过程。
登录后,Anchor CLI 会获取您的开发环境所需的 CA 证书列表,在本地信任存储中检查它们,并引导您完成任何所需的更改。 快速轻松地安装后,您的证书将在系统中的任何位置受到信任。
在开发中设置 HTTPS 需要做很多事情。 lcl.host 的神奇之处在于,一切都为您处理,因此您可以重新构建在开发和生产中无缝运行的安全应用程序。
安装 Anchor CLI 并从应用程序目录运行 anchor lcl ,立即获得本地 HTTPS!