为什么 YouTube 向 ourdomain.example.com/error_204 发出请求

Why is YouTube making requests to ourdomain.example.com/error_204

我们有一个 WordPress 博客 运行,通过 ourdomain.example.com/blog 下的反向代理,其中嵌入了 YouTube 视频。

现在我们在 chrome 网络选项卡中看到

的请求
POST https://ourdomain.example.com/error_204?a=logerror&t=jserror&type=SyntaxError&msg=Failed%20to%20execute%20%27postMessage%27%20on%20%27Window%27%3A%20Invalid%20target%20origin%20%27data%3A%27%20in%20a%20call%20to%20%27postMessage%27.&line=Not%20available&level=WARNING&client.name=1

此请求导致我们的主要软件出现问题(Magento,在“/”下,显示 CSRF 问题)

我们可以在服务器中阻止这些请求,但我们想了解为什么会发出这些请求。

之前有人看到过这些请求吗?

错误源于 YouTube 试图访问 data: 上的非 https 内容,或者视频在加载时可能不可见。
在你的项目中搜索 data: 即可,我不知道你有什么会用它。

错误消息本身毫无用处。

YouTube 播放器显然正试图通过端点 http://youtube.com/error_204http://youtube-nocookie.com/error_204 或类似端点向 Google 服务器发送内部错误报告。为此,它使用相对 URI /error_204;但出于某种原因,此相对 URI 是相对于 您的 域名解析的,而不是 YouTube 的域名。

您应该做的是确保 YouTube 视频的 link 指向 YouTube 的域,而不是您自己的域。我推测这是反向代理配置的问题,但是没有进一步的细节我无法说更多。

原因是 YouTube 视频的嵌入代码错误

<iframe  width="600" height="560" &" frameborder="0" allowfullscreen="" allow="autoplay" data-src="https://www.youtube.com/embed/xxxxx?

有一个错误的 & 符号,由某些 WordPress 模板生成器引起