我想分开托管我的应用程序和网站。层次结构如下:
example.com
- 网站托管在 DigitalOceanexample.com/*
- SPA 托管在 Firebase Hosting
由于 DNS 不允许指向子目录,有没有更明智的方法来实现这一点?
提前致谢!
我想分开托管我的应用程序和网站。层次结构如下:
example.com
- 网站托管在 DigitalOceanexample.com/*
- SPA 托管在 Firebase Hosting由于 DNS 不允许指向子目录,有没有更明智的方法来实现这一点?
提前致谢!
由于不支持子域解决方案,您可以尝试使用像 nginx 这样的代理来根据到不同后端的路径路由流量。示例配置可能如下所示:
server {
listen ...;
...
location / {
proxy_pass http://<your-website>;
}
location /app {
proxy_pass http://<your-app>;
}
location /another-app {
proxy_pass http://<another-app>;
}
...
}
来源:https ://gist.github.com/soheilhy/8b94347ff8336d971ad0
您可能还想检查 Digital Ocean 负载均衡器产品是否提供基于路径的路由。
我最终通过子域解决了这个问题,并决定分享这个解决方法。
1.DNS记录如下
www : pointing to website
* : root pointing SPA
2. 在我的 Vue 应用程序中,我刚刚添加了一个简单window.replace
的从 root 重定向到www
.
if (window.location.host === 'example.com') window.location.replace('https://www.example.com');
--
远非整洁,但工作得很好:)
我将@Scarysize 的答案标记为解决方案,因为它是一个更全面的解决方案。