I faced the issue after the latest Chrome updates. My iframe stopped working despite the fact that it was https iframe inside of the https web site.
Here is the text of my error
Chrome
Specify a Cross-Origin Embedder Policy to prevent this frame from being blocked
Because your site has the Cross-Origin Embedder Policy (COEP) enabled, each embedded iframe must also specify this policy. This behavior protects private data from being exposed to untrusted third party sites.
To solve this, add one of following to the embedded frame’s HTML response header:
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Embedder-Policy: credentialless (Chrome > 96)
Here is the article that explains what is COEP
https://developer.chrome.com/blog/coep-credentialless-origin-trial/
In my case I fixed it by adding the following code into webpack dev server:
devServer: {
headers: {
'Cross-Origin-Embedder-Policy': 'credentialless'
},
...
}
And for production mode, I added this header into my nginx config
add_header Cross-Origin-Embedder-Policy "credentialless";