Hugo - 无法在资源的 'integrity' 属性中找到有效摘要 - 资源已被阻止 - 主机位于 Github
Hugo - Failed to find a valid digest in the 'integrity' attribute for resource - The resource has been blocked - Host on Github
问题:
我正在尝试 deploy/host 我的 Hugo
站点 GitHub。
当我 运行 使用 hugo server
命令在本地 (http://localhost:1313/
) 站点时,该站点呈现完美,但当我将其托管在 GitHub 上时,它无法正确呈现.
最初,我认为问题出在 GitHub 上的部署,但后来我打开了 index.html
文件,该文件是由 public
中的 hugo
命令生成的文件夹,我注意到它在那里也不起作用。所以我假设 index.html 文件中的 css 连接有问题:
href=https://username.github.io/assets/css/stylesheet.min.06dcab22093156f8a08872c23ce7ee2a8234185d3c84741f7b0ce0c78df475b8.css
但这似乎是正确的 link。
安装过程和研究工作:
为了首先创建 hugo
站点,我遵循了 quick-start tutorial and in order to apply the theme of my choice, I followed the official installation process described here by PaperMod
. Finally, to host it on GitHub, I followed the recommended instructions。
我的 config.yml file has the recommended structure as the example file 出现在官方存储库中。
除了提交 issue on the GitHub repository of the theme developer which I didn't get a clear answer except for a correction he pointed out which didn't work, I looked at a couple of articles like this, this and this 但其中 none 有效。
我正在使用 windows 10,我的 Hugo 版本是 v0.78.2/extended windows/amd64
。
更新:
我检查了 html 文件的控制台,发现了这三个错误:
(index):1 Failed to find a valid digest in the 'integrity' attribute
for resource
'https://username.github.io/assets/css/stylesheet.min.5846effdc39e688e1bf07acc7a47123f949ae43a8b0e776fa1a2a626406cc602.css'
with computed SHA-256 integrity
'J6YEe5hjKuk/TENUR7jEMr6VNR4lwN8iVpSGj1g8MU4='. The resource has been
blocked.
DevTools failed to load SourceMap: Could not load content for
chrome-extension://fheoggkfdfchfphceeifdbepaooicaho/sourceMap/chrome/iframe_handler.map:
HTTP error: status code 404, net::ERR_UNKNOWN_URL_SCHEME
DevTools
failed to load SourceMap: Could not load content for
chrome-extension://fheoggkfdfchfphceeifdbepaooicaho/sourceMap/chrome/content.map:
HTTP error: status code 404, net::ERR_UNKNOWN_URL_SCHEME
解决方法:
我替换了:
integrity="J6YEe5hjKuk/TENUR7jEMr6VNR4lwN8iVpSGj1g8MU4="
与:
integrity=""
在 每个 index.html
文件的 css 标签中。
虽然我找到了自动执行此操作并首先跳过错误的解决方案,但它确实有效。
解决方案(!) - 更新:
看起来assets
文件夹下的head.html
文件结构如下:
<!-- Styles -->
{{- $stylesheet := (resources.Match "css/*.css") | resources.Concat "assets/css/stylesheet.css" | minify | fingerprint -}}
<link href="{{ $stylesheet.Permalink }}" integrity="{{ $stylesheet.Data.Integrity }}" rel="preload stylesheet"
as="style">
我用 integrity=""
替换了 integrity="{{ $stylesheet.Data.Integrity }}"
并且成功了!它会自动生成 index.html
文件,这些文件是用空的 integrity
构建的,因此没有错误并且可以完美运行。
如果您使用 Cloudflare 作为您域的 DNS,我找到了解决方案。
只需清理 Cloudflare CDN 缓存或将其关闭以防止再次发生。
https://github.com/lxndrblz/anatole/issues/114#issuecomment-828750909
感谢@Samuel Three 的回答,我开始更仔细地查看我的 Cloudflare 配置。
我发现我为 JavaScript 和 CSS 打开了 Cloudflare 的“自动缩小”功能(在速度/优化下)。禁用这些(并刷新 Cloudflare 缓存一次)为我解决了这个问题,并且从那时起我能够让 Cloudflare 的缓存保持启用状态。
当然,如果 Cloudflare 以任何方式修改 JS 或 CSS 文件,计算出的 SHA 完整性将不再正确。
问题:
我正在尝试 deploy/host 我的 Hugo
站点 GitHub。
当我 运行 使用 hugo server
命令在本地 (http://localhost:1313/
) 站点时,该站点呈现完美,但当我将其托管在 GitHub 上时,它无法正确呈现.
最初,我认为问题出在 GitHub 上的部署,但后来我打开了 index.html
文件,该文件是由 public
中的 hugo
命令生成的文件夹,我注意到它在那里也不起作用。所以我假设 index.html 文件中的 css 连接有问题:
href=https://username.github.io/assets/css/stylesheet.min.06dcab22093156f8a08872c23ce7ee2a8234185d3c84741f7b0ce0c78df475b8.css
但这似乎是正确的 link。
安装过程和研究工作:
为了首先创建 hugo
站点,我遵循了 quick-start tutorial and in order to apply the theme of my choice, I followed the official installation process described here by PaperMod
. Finally, to host it on GitHub, I followed the recommended instructions。
我的 config.yml file has the recommended structure as the example file 出现在官方存储库中。
除了提交 issue on the GitHub repository of the theme developer which I didn't get a clear answer except for a correction he pointed out which didn't work, I looked at a couple of articles like this, this and this 但其中 none 有效。
我正在使用 windows 10,我的 Hugo 版本是 v0.78.2/extended windows/amd64
。
更新:
我检查了 html 文件的控制台,发现了这三个错误:
(index):1 Failed to find a valid digest in the 'integrity' attribute for resource 'https://username.github.io/assets/css/stylesheet.min.5846effdc39e688e1bf07acc7a47123f949ae43a8b0e776fa1a2a626406cc602.css' with computed SHA-256 integrity 'J6YEe5hjKuk/TENUR7jEMr6VNR4lwN8iVpSGj1g8MU4='. The resource has been blocked.
DevTools failed to load SourceMap: Could not load content for chrome-extension://fheoggkfdfchfphceeifdbepaooicaho/sourceMap/chrome/iframe_handler.map: HTTP error: status code 404, net::ERR_UNKNOWN_URL_SCHEME
DevTools failed to load SourceMap: Could not load content for chrome-extension://fheoggkfdfchfphceeifdbepaooicaho/sourceMap/chrome/content.map: HTTP error: status code 404, net::ERR_UNKNOWN_URL_SCHEME
解决方法:
我替换了:
integrity="J6YEe5hjKuk/TENUR7jEMr6VNR4lwN8iVpSGj1g8MU4="
与:
integrity=""
在 每个 index.html
文件的 css 标签中。
虽然我找到了自动执行此操作并首先跳过错误的解决方案,但它确实有效。
解决方案(!) - 更新:
看起来assets
文件夹下的head.html
文件结构如下:
<!-- Styles -->
{{- $stylesheet := (resources.Match "css/*.css") | resources.Concat "assets/css/stylesheet.css" | minify | fingerprint -}}
<link href="{{ $stylesheet.Permalink }}" integrity="{{ $stylesheet.Data.Integrity }}" rel="preload stylesheet"
as="style">
我用 integrity=""
替换了 integrity="{{ $stylesheet.Data.Integrity }}"
并且成功了!它会自动生成 index.html
文件,这些文件是用空的 integrity
构建的,因此没有错误并且可以完美运行。
如果您使用 Cloudflare 作为您域的 DNS,我找到了解决方案。
只需清理 Cloudflare CDN 缓存或将其关闭以防止再次发生。
https://github.com/lxndrblz/anatole/issues/114#issuecomment-828750909
感谢@Samuel Three 的回答,我开始更仔细地查看我的 Cloudflare 配置。
我发现我为 JavaScript 和 CSS 打开了 Cloudflare 的“自动缩小”功能(在速度/优化下)。禁用这些(并刷新 Cloudflare 缓存一次)为我解决了这个问题,并且从那时起我能够让 Cloudflare 的缓存保持启用状态。
当然,如果 Cloudflare 以任何方式修改 JS 或 CSS 文件,计算出的 SHA 完整性将不再正确。