解决 Deno 开启 HTTPS 时出现的问题

阅读时长 4 分钟读完

Deno 是一种新型的 JavaScript 运行时环境,可以让我们在浏览器之外使用 JavaScript。其中,它支持在本地开发环境中启用 HTTPS 访问。但是,在实际使用中,很容易遇到以下问题:

问题描述

当尝试使用 --allow-net--allow-read 参数来执行一个支持 HTTPS 的 Deno 应用程序时,以下错误信息将被触发:

-- -------------------- ---- -------
------ -------- --- ----------
------------ -
    --------
        ------ ------- ------- --- ---------------------------------------
        ----- ------ -- -------- ------------------ --------- ---
        ---------
    ---- ------------------------------------
    ------- ----------
-

这个错误可能是由于证书颁发机构不被信任或网络设置不正确导致的。

解决方案

为了解决这个问题,我们可以按照以下步骤操作:

步骤1:创建自签名证书

要在本地使用 HTTPS,我们需要创建一个自签名证书。我们可以通过以下命令来生成一个用于开发目的的自签名证书:

这将在当前目录下生成 localhost.keylocalhost.crt 两个文件。

步骤2:设置环境变量

接下来,我们需要设置两个环境变量来使用自签名证书。我们可以通过以下命令完成:

这将把证书和密钥文件路径添加到环境变量中。

步骤3:启动 Deno 应用程序

现在我们可以使用 -ssl-cert-ssl-key 参数来启动支持 HTTPS 的 Deno 应用程序了。我们可以按照以下方式进行:

注意,我们还必须添加 --unstable 参数,因为 Deno 上的 TLS 功能目前仍处于实验阶段。

步骤4:测试应用程序

现在我们可以在浏览器中访问 https://localhost:3000/index.html 来测试我们的 Deno 应用程序。

总结

本文中,我们介绍了如何解决 Deno 开启 HTTPS 时可能遇到的问题。我们先创建了一个自签名证书,然后通过环境变量来指定证书和密钥文件的路径,并最终使用 -ssl-cert-ssl-key 参数来启动我们的 Deno 应用程序。如果您遵循了本文中的步骤,现在应该已经可以在本地使用 HTTPS 访问您的 Deno 应用程序了。

示例代码

-- -------------------- ---- -------
------ - ----- - ---- ---------------------------------------
------ - ------------ - ---- ----------------------------------

----- ------ - ------- ----- ---- ---
------------------- ------- -- ---- -------

--- ----- ------ --- -- ------- -
  ----- ------- - --- ---------
    --------------- ----------- ---------------
  ---

  ----- ---- - -----------------------------

  ------------- -------- ---- ---
-

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/651a987095b1f8cacd279966

纠错
反馈