所以我有一个棱角分明的前端,带有一个Django rest框架后端,它托管在运行apache的单个ubuntu 18.04 VPS盒子上。前端托管在端口 80 上,后端托管在端口 8000 上,我们注意到似乎很多网络都阻止了端口 8000。所以发生的情况是,如果我登录公共wifi,你可以看到前端,但你无法访问后端。
我需要一些关于如何完成这项工作的指导。现在它的设置是这样的
Api requests are: http://myapp.com:8000
In the future all API quests should be: http://myapp.com/api
or maybe even a separate server that's http://api.myapp.com
我正在寻求有关此问题的一些指导。无论如何,可以让 apache 认为所有请求都在端口 80/443 上,而我不再需要 8000 了?对于一个小应用程序来说,这是一种可以的做法吗?或者我应该只在单独的服务器上运行后端,如果是这样,我该如何设置?所有指南似乎都指向将其放在8000上。如能提供有关此问题的任何链接和指导,将不胜感激。
如果您登录到公共 wifi,并且网络上有一个策略来阻止到达服务器端口 80 的流量,则请求可能会超时。
如果你需要单独提供应用程序,并且不能通过 Django 提供它,使用 Virutal Hosts 并配置适当的规则可能是最好的(见这里(。使用它,您可能 app.domain.com 处理对应用程序文件的任何请求,并将请求 api.domain.com 路由到您的 django 后端。根据规则的设置方式,您可能需要自定义 CORS 策略(因为 api.domain.com 和 app.django.com 是两个不同的域名(。