gpt4 book ai didi

javascript - SailsJS 自定义 API Hook - 子域

转载 作者:行者123 更新时间:2023-12-03 00:35:57 25 4
gpt4 key购买 nike

我最近尝试将 SailsJS 应用程序部署到 AWS 环境,因此我设置了相关的暂存和生产环境文件。

然而,我遇到的一个持续存在的问题是当我运行应用程序时:

sails lift --staging

我注意到我要么重复重定向,要么根本无法访问。

经过进一步挖掘,我碰巧在 api/hooks/custom/index.js 文件中发现了这段代码:

// Next, if we're running in our actual "production" or "staging" Sails
// environment, check if this is a GET request via some other subdomain,
// for example something like `webhooks.` or `click.`. If so, we'll
// automatically go ahead and redirect to the corresponding path under
// our base URL, which is environment-specific.
// > Note that we DO NOT redirect virtual socket requests and we DO NOT
// > redirect non-GET requests (because it can confuse some 3rd party
// > platforms that send webhook requests.)
var configuredBaseSubdomain;
try {
configuredBaseSubdomain = url.parse(sails.config.custom.baseUrl).host.match(/^([^\.]+)\./)[1];
} catch (unusedErr) { /*…*/}
if ((sails.config.environment === 'staging' || sails.config.environment === 'production') && !req.isSocket && req.method === 'GET' && req.subdomains[0] !== configuredBaseSubdomain) {
sails.log.info('Redirecting GET request from `'+req.subdomains[0]+'.` subdomain...');
return res.redirect(sails.config.custom.baseUrl+req.url);
}//•

我尝试在 IRC channel 和 Gitter.im 链接上询问,但我的疑问“迷失在噪音中”,所以我想我只是在这里询问并留待讨论。有没有更好的方法来处理这个问题?

使用 URL http://ec2-xxx-xxx-xxx-xxx.locale-x.compute.amazonaws.com 在 AWS 环境中部署或者只是通过 IP 地址访问都被所使用的正则表达式捕获:

/^([^\.]+)\./

这使得部署变得非常困难,除非应用程序位于站点的根路由中(哈哈)。难道就没有其他方法可以解决这个问题吗?

现在,我必须将其注释掉,以便我的分阶段应用程序可用/可测试。我还意识到,这可能是通过最初通过 sails-generate 创建我的项目时传递的参数来呈现的。项目,但我还没有找到它

最佳答案

我遇到了同样的问题。似乎我们都曾使用过生成器,导致代码包含上面的正则表达式。现在它已通过此提交进行了更改,一旦您将存储库中的代码更改为下面的代码,它实际上就会再次起作用!

https://github.com/balderdashy/sails-generate/commit/76e2096d8173d474b6152a67ff4cfa08c38e6460

关于javascript - SailsJS 自定义 API Hook - 子域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53664387/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com