【发布时间】:2017-12-14 17:26:05
【问题描述】:
我用 go (golang) 开发了一个 REST API,现在我想设计我的 Web 前端。我不知道如何将前端与后端分开。
我认为我有三个选择:
1- 在一台服务器上运行 REST API,在另一台服务器上运行前端网站。
2- 在同一台服务器上运行 REST API 和前端网站,但在不同的端口上。例如在 8080 端口上运行 REST,在 80 端口上运行前端网站。
3- 在同一服务器和同一端口上运行两者,但每个使用不同的 URL 路径(或子域)。
由于我不知道这些东西,请告诉我哪一个是正确的或最佳解决方案。或者有没有其他解决方案?我的网站有多大重要吗?
【问题讨论】:
-
您不能执行 3,但您可以执行 1 和/或 2,但这取决于您的应用程序特有的许多事情。
-
@jmugz3 你实际上可以做 3,但你必须在你的服务器前面使用 NGINX。另一种方法是使用相同的 Go Server 并根据请求标头进行子路由
-
@GurbakhshishSingh 我可以用一个 NGINX 运行 2 个 Go 服务器吗?第二种方式的缺点是什么?
-
@amir 您可以在不同的 localhost 端口上本地运行 2 个 go 服务器,并使用 NGINX 将基于子域的端口转发到不同的 localhost 端口,即使您运行的是单个 go 服务器,也不应该在其上运行它端口 80,因为它需要 root 访问权限,您不应该这样做,因此您应该始终在非标准端口上运行它们并使用 NGINX 进行端口转发