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

Separate hosting for SPA and Website but share domain

我想分开托管我的 appwebsite。层级如下:

由于 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 的答案标记为解决方案,因为它是一个更全面的解决方案。