【发布时间】:2022-01-01 15:09:03
【问题描述】:
我有一个快速服务器,它允许前端从数据库中获取信息,它工作正常。 Cors 设置了前端白名单,但是尝试获取图像(已经上传并保存)除了 500 错误之外什么都没有。我尝试禁用 cors 并且效果很好,但是任何来源都可以做一些我不希望这个网站做的事情。我使用启用了代理和 proxy_http mod 的 apache,因此它可以访问在 pm2 上运行的 express js 服务器。服务器js上的代码:
const whiteList=['domain.com'];
const corsOptions = {
origin:function(origin, callback){
if(whiteList.indexOf(origin) !== -1){
callback(null, true);
} else{
callback(new Error('Not allowed by CORS'));
}
}
}
app.use(cors(corsOptions));
我什至尝试在 apache 中设置 cors 标头,但它不起作用,因为它仍然允许来源而不是列表。
【问题讨论】:
-
domain.com不是origin;它应该以http://或https://为前缀才能被视为来源。另外,您的origin变量是如何声明的?它甚至在任何地方声明? -
兄弟,我只称它为 domain.com,所以我没有公开显示实际的白名单信息。就像我说的那样,它工作正常,直到我需要从服务器提供静态文件。
-
你在“兄弟”中失去了我。
标签: apache express cors static-files