在Node.js服务器中支持HTTPS或需要HTTPS的反向代理

在Node.js服务器中支持HTTPS或需要HTTPS的反向代理,node.js,http,https,open-source,reverse-proxy,Node.js,Http,Https,Open Source,Reverse Proxy,我正在编写一个开源Node.js应用程序,它实现了一个HTTP服务器,用于API调用。在Node.js中支持HTTPS并不难,但它增加了一点复杂性,并增加了一些您需要了解的情况: 密钥和证书的路径应可配置=>更多设置/文档 当密钥和证书丢失或路径错误时,应用程序应处理错误=>更多代码和测试 Docker image必须将外部密钥和证书传递给容器中运行的应用程序=>更多代码和文档 这感觉有点像重新发明轮子。我个人使用一个反向代理来处理我所有站点的HTTPS部分。后台的服务器都是HTTP 需要反

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

  • 密钥和证书的路径应可配置=>更多设置/文档
  • 当密钥和证书丢失或路径错误时,应用程序应处理错误=>更多代码和测试
  • Docker image必须将外部密钥和证书传递给容器中运行的应用程序=>更多代码和文档
这感觉有点像重新发明轮子。我个人使用一个反向代理来处理我所有站点的HTTPS部分。后台的服务器都是HTTP


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

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