如果使用Express,是否需要nginx

如果使用Express,是否需要nginx,express,nginx,Express,Nginx,我有一个nodeJS web应用程序,其中Express在数字海洋水滴上运行。nodeJS应用程序提供后端API。我有两个前端,利用不同领域的API。前端可以托管在同一台服务器上,但我的开发人员告诉我应该使用另一台服务器来托管前端,例如cloudflare。 我已经读到nginX可以在同一台服务器上托管多个站点(即在同一台服务器上托管我的前端),但不确定这是否是一种好的做法,因为我可能无法使用cloudflare 在安全方面,有人能告诉我是否需要nginx,以及我的选择吗 谢谢这是一个过于开放的

我有一个nodeJS web应用程序,其中Express在数字海洋水滴上运行。nodeJS应用程序提供后端API。我有两个前端,利用不同领域的API。前端可以托管在同一台服务器上,但我的开发人员告诉我应该使用另一台服务器来托管前端,例如cloudflare。 我已经读到nginX可以在同一台服务器上托管多个站点(即在同一台服务器上托管我的前端),但不确定这是否是一种好的做法,因为我可能无法使用cloudflare

在安全方面,有人能告诉我是否需要nginx,以及我的选择吗


谢谢

这是一个过于开放的问题,但我将尝试回答它:

在安全方面,有人能告诉我是否需要nginx,以及我的 有选择吗

在任何场景中都需要Nginx(或Apache)。使用一台或多台服务器。是否使用Express。Express只是构建路由的应用程序框架。但您仍然需要一个能够响应网络请求的服务。这就是Nginx和Apache所做的。您可以避免使用Nginx,但是您的用户必须直接向您启动Express的端口发出请求。例如:。在安全方面,您最好隐藏端口号,这样您的用户只需要转到

我的开发人员告诉我应该使用另一台服务器来托管 前端,如cloudflare

据我所知,Cloudflare不提供托管服务。它确实提供CDN来承载一些文件,但不是一个完整的站点。您需要另一个Digial Ocean实例来执行此操作。在一篇文章中,我发现:“Cloudflare不是主机。Cloudflare的基本服务是DNS提供商,您只需指向现有主机即可。”

我读到nginX可以在同一个站点上托管多个站点 服务器

是的,Nginx(以及Apache)可以承载多个站点。用不同的名字或相同的名字。作为同一服务器中的域(,)或子域(,)

。。。但不确定这是否是一种好的做法

此外,如果这是一个好的或坏的做法,我认为这是很常见的。将它们保存在单独的服务器中的几个有效原因是:

  • 因为您希望,如果前端出现故障,后端API将继续工作
  • 因为你想平衡网络流量
  • 因为你想让他们分开

如果两个应用程序高度相关,这肯定不是一个坏做法。

这是一个过于开放的问题,但我将尝试回答它:

在安全方面,有人能告诉我是否需要nginx,以及我的 有选择吗

在任何场景中都需要Nginx(或Apache)。使用一台或多台服务器。是否使用Express。Express只是构建路由的应用程序框架。但您仍然需要一个能够响应网络请求的服务。这就是Nginx和Apache所做的。您可以避免使用Nginx,但是您的用户必须直接向您启动Express的端口发出请求。例如:。在安全方面,您最好隐藏端口号,这样您的用户只需要转到

我的开发人员告诉我应该使用另一台服务器来托管 前端,如cloudflare

据我所知,Cloudflare不提供托管服务。它确实提供CDN来承载一些文件,但不是一个完整的站点。您需要另一个Digial Ocean实例来执行此操作。在一篇文章中,我发现:“Cloudflare不是主机。Cloudflare的基本服务是DNS提供商,您只需指向现有主机即可。”

我读到nginX可以在同一个站点上托管多个站点 服务器

是的,Nginx(以及Apache)可以承载多个站点。用不同的名字或相同的名字。作为同一服务器中的域(,)或子域(,)

。。。但不确定这是否是一种好的做法

此外,如果这是一个好的或坏的做法,我认为这是很常见的。将它们保存在单独的服务器中的几个有效原因是:

  • 因为您希望,如果前端出现故障,后端API将继续工作
  • 因为你想平衡网络流量
  • 因为你想让他们分开

如果两个应用程序高度相关,这肯定不是一个坏做法。

谢谢,但是Express充当服务器,我一直在听端口。是的,你可以只听端口。问题是当您希望用户访问该站点时。那时他们必须去site.com:3000左右。另一方面,如果这不是一个问题,那么我认为完全没有必要设置Nginx反向代理。很抱歉,前面没有提供相关信息,我希望托管api服务器(apiSite.com),该服务器可以在任何端口上运行,但应该是SSL安全的,两个面向公众的前端(site1.com和site2.com)也可以在SSL上运行。理想情况下,选项1是将3个站点托管在一台服务器上,但这取决于复杂性。选项2,我可以在廉价的静态主机提供商上托管前端。我想从技术上知道这两个选项涉及到什么。谢谢,但是Express作为一个服务器,我一直在听端口。是的,你可以只听端口。问题是当您希望用户访问该站点时。那时他们必须去site.com:3000左右。另一方面,如果这不是一个问题,那么我认为完全没有必要设置Nginx反向代理。很抱歉,前面没有提供相关信息,我希望托管api服务器(apiSite.com),该服务器可以在任何端口上运行,但应该是SSL安全的,两个面向公众的前端(site1.com和site2.com)也可以在SSL上运行。理想情况下,选项1是将3个站点托管在一台服务器上,但这取决于复杂性。选项2,我可以在廉价的静态主机提供商上托管前端。我想从技术上知道这两个选项涉及到什么。