gpt4 book ai didi

javascript - LetsEncrypt 覆盖不同端口

转载 作者:太空宇宙 更新时间:2023-11-03 15:09:40 24 4
gpt4 key购买 nike

所以我有一个在端口 443 上运行的 Apache 服务器和在最新版本的 Ubuntu 上安装的 NodeJS。现在我的一切都运行得很好,除了我运行 NodeJS 服务器的端口 100 上没有 SSL。

当我将它切换到端口 80 并通过 sudo 运行服务器时,它给出了一个错误,所以我当然不能那样做。是否有任何解决方案能够在 443 和 80 以外的端口上覆盖 LetsEncrypt SSL?

最佳答案

端口 80 是 http 的标准端口(未加密)。

端口 443 是 https(加密)的标准端口。

我所说的标准端口是指网络浏览器知道这些端口,因此不要指望您明确提供端口。所以https://www.example.comhttps://www.example.com:443是相同的,但因为您使用的是标准端口,所以无需包含 :443 部分,因为浏览器会为您完成。

虽然有这些标准约定,但您可以在任何端口上使用 SSL,因为它完全独立于端口。例如,通常您永远不会在端口 80 上使用 SSL,因为那样会破坏这些约定。

因此,如果您想通过端口 100 使用 NodeJS 服务,那么您可以,但您需要在 URL 和 https 协议(protocol)中明确说明该端口。

LetsEncrypt 不在乎你使用哪个端口(除了验证部分,它将文件放在外部世界可以联系的地方以证明你拥有域和 key 的所有权 - 这就是你的身份说到这里?)。因此,您可以对 Apache 和 NodeJs 使用相同的证书。

更好的解决方案是使用标准端口和 ProxyPass 来自 Apache 的 Node 服务(通常是普通的 http,但如果需要也可以是 https): Apache and Node.js on the Same Server .这样您就可以让 Apache 监听端口 80(重定向到端口 443),端口 443 和 Node 服务只能通过 Apache 访问。

关于javascript - LetsEncrypt 覆盖不同端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36657100/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com