如何使用proxypass在子文件夹上配置Sailsjs?

时间:2019-01-20 17:05:57

标签: node.js nginx sails.js proxypass

我在Nginx服务器上运行Laravel,并希望在子文件夹example.com/sailsapp /

上设置Sailjs

在nginx配置中,我有以下内容

通过访问example.com/sailsapp/,我希望location /sailsapp { proxy_pass http://localhost:1337; } 路由会加载首页,但我却得到404。

如果我更改Sailjs '/': { view: 'pages/homepage' },,则主页视图加载正常,但问题是所有资产都指向example.com,而不是我的主要问题'/sailsapp': { view: 'pages/homepage' }

我该如何配置Sails应用程序,以便它实际上知道应用程序的真正基础是什么,而以顶级域为基础。

谢谢

1 个答案:

答案 0 :(得分:1)

我已经弄清楚了如何实现我所需要的。

在Nginx配置中,我需要添加重写,以简单地将/sailsapp/(.*)重写为/$1,这可以正确地代理请求。

location /sailsapp {
        rewrite /sailsapp/(.*) /$1  break;
        proxy_pass http://localhost:1337;
}

尽管如此,它仍然对资产没有帮助。

要在Sails上配置自动注入资产,我去了tasks/config/sails-linker.js 并将fileTmpl: '<script src="%s"></script>',更改为fileTmpl: '<script src="/sailsapp%s"></script>'

不确定我是否会遇到更多问题,但这实际上使我可以继续进行应用构建。