【问题标题】:Best practice for communicating with a NodeJS server hosted locally from a Bluehost NodeJS server?与从 Bluehost NodeJS 服务器本地托管的 NodeJS 服务器通信的最佳实践?
【发布时间】:2021-03-15 00:30:12
【问题描述】:

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

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

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

【问题讨论】:

    标签: node.js ssl https server


    【解决方案1】:

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

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

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

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

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

    我倾向于采用的最佳做法是:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-20
      • 2017-08-28
      • 1970-01-01
      • 2013-02-01
      • 2014-11-25
      • 2018-06-12
      • 1970-01-01
      相关资源
      最近更新 更多