我有一个应用程序节点.js和express.js服务器,我想从 4 点提供访问:
我不确定这里更好的方法是什么。
- 运行两个服务器(
https.createServer
和http.createServer
)并将所有内容从 http 服务器重定向到 https 服务器 - 或者在域面板上进行一些重定向?
那么“www”与“非 www”又如何呢?它也应该由托管/域名面板设置吗?
这对我来说是个新领域,我不知道,至少我希望这是合适的 StackExchange 论坛。任何有更多解释的链接都很好
答案1
最佳实践是在实际的 Web 服务器(Apache / nginx)中处理所有这些问题,该服务器通过反向代理在其后面有应用程序服务器。
答案2
简单的方法是使用 Nginx (https://www.nginx.com) 它有一个反向代理,因此您可以为同一个应用程序处理多个位置。您甚至可以配置平衡加载器。例如,您可以配置一个带有 www 的路径,另一个不带有 www,另一个带有 http,另一个带有 https。所有这些都无需接触节点中的代码库应用程序。
答案3
另一个不错的选择是使用Caddy服务器作为代理,将其配置为响应所有四个域,然后在内部代理到您的应用程序。
有了它,您可以获得上述所有好处nginx
,以及自动 HTTP/2 和 SSL让我们加密包括办理续订。如果您已经拥有证书,则可以使用自己的证书。
安装和配置非常简单。
例如,配置文件(Caddyfile
正如它的名字)看起来像(粗略估计,没有实际测试过):
www.example.com, example.com {
tls [email protected]
proxy / http://127.0.0.1:8080
}