我有一个在 Digital Ocean Droplet 上运行 Express 的 NodeJS Web 应用程序。nodeJs 应用程序提供后端 API。我有两个 React 前端,它们利用不同域的 API。前端可以托管在同一台服务器上,但我的开发人员告诉我应该使用另一台服务器来托管前端,例如 cloudflare。我读过,nginX 可以在同一台服务器上托管多个站点(即在同一台服务器上托管我的前端),但不确定这是否是一个好的做法,因为我可能无法使用 cloudflare。
在安全方面,有人可以告诉我是否需要 nginx,以及我的选择吗?
谢谢
这是一个过于开放式的问题,但我会尝试回答它:
\n\n\n在安全方面,有人可以告诉我是否需要 nginx,以及我的\n选项吗?
\n
在这两种情况下您都需要 Nginx(或 Apache)。对于一台或多台服务器,无论是否使用 Express,Express 只是一个构建路由的应用程序框架,但您仍然需要一个能够响应网络请求的服务,这就是 Nginx 和 Apache 所做的。
\n您可以避免使用 Nginx,但是您的用户必须直接向您启动 Express 的端口发出请求。例如:http://my-site.com: 3000/welcome 从安全角度考虑,你最好隐藏端口号并使用Nginx的反向代理,这样你的用户只需要浏览http:// my-site.com/welcome。
\n\n\n我的开发人员告诉我应该使用另一台服务器来托管\n前端,例如 cloudflare
\n
截至目前,Cloudflare 不提供托管服务。它确实提供 CDN 来托管一些文件,但不提供完整的站点。您将需要另一个 Digital Ocean 实例来执行此操作。在Cloudflare 的论坛帖子中,我发现:“Cloudflare 不是主机。Cloudflare\xe2\x80\x99s 基本服务是 DNS 提供商,您只需指向现有主机即可。” 。
\n\n\n我读到,nginX 可以在同一台服务器上托管多个站点\n
\n
是的,Nginx(还有 Apache)可以托管多个具有不同名称或相同名称的站点,如域(www.my-backend.com、www.my-frontend.com)或子域(www.backend.my-site ) .com、www.my-site.com)在同一服务器中。
\n\n\n...但不确定这是否是好的做法
\n
这绝对不是一个坏习惯,将应用程序分离到不同的子域上是很常见的。将它们保留在单独的服务器中的一些正当理由是:
\n从这些微服务中滥用(即获取 PI 值的微服务)将是一种不好的做法
\n| 归档时间: |
|
| 查看次数: |
5945 次 |
| 最近记录: |