# ERR_HTTP2_PROTOCOL_ERROR 等错误Debug

- 连结：https://blog.guohao.asia/err_http2_protocol_error-%e7%ad%89%e9%94%99%e8%af%afdebug.html
- 发布时间：2022-09-30T15:00:41+08:00
- 作者：null

中文   英文   韩语   日语

# ERR_HTTP2_PROTOCOL_ERROR 等错误 Debug

[⌊ERR_HTTP2_PROTOCOL_ERROR 等错误 Debug⌉⌊ERR_HTTP2_PROTOCOL_ERROR 等错误 Debug⌉[

网站配置 CDN 和 COS 后，频现 `ERR_HTTP2_PROTOCOL_ERROR` 错误，而且网络访问极不稳定
且速度慢，丝毫没有体现出服务器挪回国内并且开启 CDN 和 COS 的作用。

网上查了很多文档，最终从以下三个方面入手解决了问题。

## 域名证书

个人博客网站如果配置多域名证书或通配符证书过于奢侈，一年证书的费用甚至相当于服务
器和域名 3 到 5 年的成本。而在使用免费域名证书的过程中，只能申请到单域名证书，这样
在配置 CDN 和 COS 过程中往往会遇到一些证书错误的问题。

今日突发奇想，我网站用的是 `blog.guohao.asia/` 这个顶级域名，在申请免费 SSL 证书
的过程中，SSL 证书同时包含了`blog.guohao.asia/;www.guohao.asia`, 这样一来，不就相当
于这张免费的 SSL 证书变成了包含主域名和 WWW 二级域名的“多域名”证书了么？！

于是在腾讯云 CDN 控制台，复制原 `cdn.guohao.asia` 的配置信息到`www.guohao.asia`，
在 wordpress 后台的插件中重新配置 CDN 域名信息。

自此，网站上的 CDN 源显示恢复正常。

## CDN-HTTP 响应头配置

![ERR_HTTP2_PROTOCOL_ERROR 等错误 Debug](https://blog.guohao.asia/wp-content/themes/
wordpress-theme-puock-2.8.16/assets/img/z/load.svg "ERR_HTTP2_PROTOCOL_ERROR 等错误
Debug")

关闭 CDN _Access-Control-Allow-Origin_“HTTP 响应头配置”。

可能的原因是：

>  * Access-Control-Allow-Origin 是用来设置接口跨域访问的. 设置为 * 表示接受任何
>    域的请求.
>  * 根据 W3C 标准, 如果支持用户凭证, 设置 Access-Control-Allow-Origin 为当前域,
>    并且设置 Access-Control-Allow-Credentials 为 true;
>  * 否则当设置 Access-Control-Allow-Origin 为 * 时, 是不允许设置 Access-Control-
>    Allow-Credentials 为 true 的.

## CDN-QUIC

![ERR_HTTP2_PROTOCOL_ERROR 等错误 Debug](https://blog.guohao.asia/wp-content/themes/
wordpress-theme-puock-2.8.16/assets/img/z/load.svg "ERR_HTTP2_PROTOCOL_ERROR 等错误
Debug")

在 CDN 控制台中开启 QUIC，并填写网站域名。

---

刷新 CDN 节点缓存及本地缓存后网站访问恢复正常。
