繁体   English   中英

SPA 和网站的单独托管但共享域

[英]Separate hosting for SPA and Website but share domain

我想分开托管我的应用程序网站 层次结构如下:

  • example.com - 托管在 DigitalOcean 的网站
  • example.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 的答案标记为解决方案,因为它是一个更全面的解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM