图像资源和画布的nodejs跨域读取阻止问题

时间:2018-09-04 09:28:20

标签: node.js express cross-origin-read-blocking

我有一个nodejs应用程序,是使用expressjs的cors包完成cors设置的。
我的cors设置代码为:

var whitelist = ['https://shajao.com', 'https://www.shajao.com'];
var corsOptions = {
    origin: function (origin, callback) {
        if (whitelist.indexOf(origin) !== -1) {
            callback(null, true)
        } else {
            callback(new Error('Not allowed by CORS'))
        }
    },
    allowedHeaders: ['Content-Type', 'Authorization', 'Content-Length', 'X-Requested-With', 'Accept'],
    methods: ['GET', 'PUT', 'POST', 'DELETE', 'OPTIONS'],
    optionsSuccessStatus: 200 // some legacy browsers (IE11, various SmartTVs) choke on 204
}
app.use(cors(corsOptions));
app.use(express.static(path.join(__dirname, '/public/')));
从一个有角度的应用程序中调用

api,该应用程序可以使服务器获得完美的响应。因此cors在这里运作良好。但是图像资源正被cors阻塞。

要查看该问题的网址, https://shajao.com/frames

示例图片网址: https://api.shajao.com/uploads/frames/8cf9006f-0225-461b-a4f2-153737152274.png

CORS Errors i am getting

1 个答案:

答案 0 :(得分:0)

跨域读取阻止( CORB )是一项新的Web平台安全功能。

Ref:https://www.chromium.org/Home/chromium-security/corb-for-developers

尝试先清除浏览器的缓存。

如果它不起作用,则必须为响应设置正确的“ Content-Type”标头。