服务器与http和https(node.js) – 最好的方法

我有一个与node.jsexpress.js服务器的应用程序,我想提供4点访问:

  1. https://www.example.com
  2. http://www.example.com
  3. https://example.com
  4. http://example.com

我不确定这里有什么更好的方法。

  1. 运行两个服务器( https.createServerhttp.createServer )并将所有从httpredirect到https服务器
  2. 或者在面板上做一些redirect?

那么“www”与“非www”呢? 它也应该由托pipe/域面板设置?
这是我的新领域,我不知道,至less我希望这是正确的StackExchange论坛。 任何更多的解释链接将是伟大的

最好的做法是在实际的Web服务器(Apache / nginx)中通过反向代理处理后面的应用服务器。

简单的方法是使用Nginx( https://www.nginx.com )它有一个反向代理,所以你可以处理同一个应用程序的多个位置。 你甚至可以configuration一个天平装载机。 例如,您可以使用www和其他configurationpath而不使用www,其他configuration使用http,其他configuration使用https。 所有这些都不需要触摸节点中的代码库应用程序。

另一个不错的select是使用Caddyserver作为代理,将其configuration为响应所有四个域,然后在内部对您的应用程序进行代理。

借助它,您可以获得nginx所有优势,以及使用“ 让我们encryption”(包括处理续订)的自动HTTP / 2和SSL。 可以使用自己的证书,如果你已经得到了他们。

安装和configuration非常简单。

例如,configuration文件( Caddyfile因为它被称为)看起来像(粗略估计,没有实际testing):

  www.example.com, example.com { tls [email protected] proxy / http://127.0.0.1:8080 }