我想分别托管我的应用和网站。层次结构如下:
-
example.com
-在DigitalOcean托管的网站 -
example.com/*
-在Firebase托管中托管SPA
由于DNS不允许指向子目录,是否有更明智的方法来实现此目的?
谢谢!
我想分别托管我的应用和网站。层次结构如下:
example.com
-在DigitalOcean托管的网站example.com/*
-在Firebase托管中托管SPA 由于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
,即可从根目录重定向到www
。
if (window.location.host === 'example.com') window.location.replace('https://www.example.com');
-
远离整洁,但效果很好:)
我将@Scarysize的答案标记为解决方案,因为它是更全面的解决方案。