node.js - 如何使用 proxypass 在子文件夹上配置 Sailsjs?
问题描述
我在 Nginx 服务器上运行 Laravel 并想在子文件夹 example.com/sailsapp/ 上设置 Sailjs
在 nginx 配置中,我有以下内容
location /sailsapp {
proxy_pass http://localhost:1337;
}
通过访问 example.com/sailsapp/ 我希望 '/': { view: 'pages/homepage' },
路由加载主页,但我得到 404。
如果我更改 Sailjs '/sailsapp': { view: 'pages/homepage' }
,主页视图加载正常,但问题是所有资产都指向 example.com 而不是example.com/sailsapp
我的主要问题。
我如何配置sails应用程序,所以它实际上会知道应用程序的真正基础是什么,而不是以顶级域为基础。
谢谢
解决方案
我已经想出了如何实现我所需要的。
在 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>'
,
不确定我是否会遇到更多问题,但这实际上让我可以继续构建我的应用程序。
推荐阅读
- jaxb - maven jaxb2 插件什么也没产生
- python - Edhesive 7.5 代码练习 GPA 平均 Python
- python - 使用 Python 在多个应用程序中选择一个应用程序
- typescript - 自定义承诺函数中的通用返回类型
- python - 使用 HAC-Panel 聚类标准错误时,Statsmodel 三明治“所有组都是空的,滞后”错误
- postgresql - ADF-Postgres 超时
- docker - saleor 后端在数字海洋的 droplet ip 下不可用
- excel - 如何从多个 Excel 单元格创建 QR 码
- python - 使用 for 循环创建多个数据帧
- swift - SwiftUI - LaunchImage 未显示