【问题标题】:Support HTTPS in Node.js server or require reverse proxy for HTTPS在 Node.js 服务器中支持 HTTPS 或需要 HTTPS 的反向代理
【发布时间】:2018-05-11 15:03:01
【问题描述】:

我正在编写一个开源 Node.js 应用程序,它为 API 调用实现了一个 HTTP 服务器。在 Node.js 中支持 HTTPS 并不难,但它会增加一些复杂性和您需要处理的情况:

  • 密钥和证书的路径应该是可配置的 => 更多设置/文档
  • 当密钥和证书丢失或路径错误时,应用程序应处理错误 => 更多代码和测试
  • Docker 映像必须将外部密钥和证书传递给在容器中运行的应用程序 => 更多代码和文档

感觉有点像重新发明轮子。我个人使用的是一个反向代理来处理我所有网站的 HTTPS 部分。后台的服务器都是 HTTP。

是否可以要求反向代理,还是直接支持 HTTPS 更好,因为大多数用户不使用反向代理?编写开源 Node.js 应用程序时,常见的服务器设置和推荐方式是什么?如何让大多数用户尽可能轻松地使用我的应用?

【问题讨论】:

    标签: node.js http https open-source reverse-proxy


    【解决方案1】:

    在大多数情况下,反向代理更可取,因为我们可以利用安全性、负载平衡、缓存控制等。我们还可以将其用于日志记录目的,以便我们可以在此代理后面的所有服务器活动和数据上维护一个安全层。正如您所提到的,将需要编写更多代码行,但系统将更加强大。我建议使用反向代理来使事情更加健壮和安全。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-31
      • 2013-04-02
      • 1970-01-01
      • 2017-02-22
      • 2020-08-16
      • 2013-04-18
      相关资源
      最近更新 更多