首页 > 解决方案 > 与从 Bluehost NodeJS 服务器本地托管的 NodeJS 服务器通信的最佳实践?

问题描述

我有一个在 Bluehost 服务器上运行的 Web 应用程序。我正在尝试检索托管在本地服务器上的文件。在本地服务器上,我有端口转发和 NodeJS 在端口 3000 上侦听。我也可以做 80,但从我读过的内容来看,这并不安全。

我遇到的问题主要是本地节点实例的 SSL 证书。Web 应用程序需要向 https:// 源发出 post 请求。

有哪些最佳实践方法可以完成这项工作?我听说过安装 Apache 并将 ProxyPass 运行到端口 3000,但我仍然担心端口 80 将没有 SSL。任何帮助,将不胜感激!!

标签: node.jssslhttpsserver

解决方案


首先值得注意的是,托管 Web 服务的方法有很多。

Node 可以处理 https 连接,您应该阅读本机 https 模块文档以了解其工作原理。

我倾向于使用 Nginx(尽管 apache 很棒并且是经过实战考验的解决方案)作为节点的代理服务器,因为总的来说,我发现它加快了产品上线的过程。它还允许您从节点服务器中提取潜在需求,例如缓存和 SSL,因此您的节点应用程序可以只专注于业务需求。

如果您选择代理服务器,Nginx(和其他)具有将处理 SSL 证书的模块。网上有很多关于如何设置的文档。

需要记住的是 PORT 80 和 3000 是流量的连接点。如果您将应用程序绑定并公开给它们,您将只能在这些端口上与服务器交互。如果没有任何东西暴露给 PORT 80,那么连接尝试就会失败。

我倾向于采用的最佳实践是:

  1. 现在没有理由不使用 SSL,标准是在端口 443 上公开 https 服务器。
  2. 如果您选择公开端口 80,请将所有流量重定向到 443。这样可以保证安全连接。

推荐阅读