获取 "Script at 'https://example.com/webworker.js' cannot be accessed from origin www.example.com" 即使使用 CNAME 重定向 www.到主域

Getting "Script at 'https://example.com/webworker.js' cannot be accessed from origin www.example.com" even with CNAME redirecting www. to main domain

我遇到一个问题,如果我通过 www.example.com/page 访问我正在制作的网站,那么浏览器无法初始化 Web Worker。

根据我的阅读,这是出于安全目的的预期行为。这很好,但我预计有些人会通过 www.example.com 访问该站点,而其他人只会输入 example.com,我需要两者才能访问该站点的所有资源。

我认为最简单的方法是将 www.example.com 从 @ 记录更改为 CNAME 记录,将所有调用重定向到 https://www.example。com/page 而不是 https://example.com/page

昨晚我做了,旧记录的TTL只有30m,所以即使是世界上最慢的DNS缓存现在也应该更新了。

但是,如果我尝试通过 www.example.com 访问该站点,我仍然会遇到相同域来源的错误。

我在这里错过了什么?最重要的是,我怎样才能完成这项工作?

CNAME 记录不是 HTTP 重定向。

浏览器查找 www.example.com,为它进行 DNS 查找,底层 DNS 客户端被告知 IP 地址与 example.com 相同,因此它得到 example.com 的 IP 地址,然后向该 IP 地址发出请求 www.example.com.

的 HTTP 请求

origin 仍将是 https://www.example.com


将您的 HTTP 服务器配置为针对 www.example.com 的任何请求发出 301 Moved Permanently 重定向。