Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress HTTP/2导致图像和字体为404_Wordpress_Png_Http Status Code 404_Jpeg_Http2 - Fatal编程技术网

Wordpress HTTP/2导致图像和字体为404

Wordpress HTTP/2导致图像和字体为404,wordpress,png,http-status-code-404,jpeg,http2,Wordpress,Png,Http Status Code 404,Jpeg,Http2,我做了什么:我调整了Wordpress网站,使其在2.3秒内加载,而不是之前的5秒。作为最后一步,我在LAMP服务器(PHP7.0,Apache2.4)中启用了HTTP/2并重新启动了Apache 问题:这样做,第一个字节的时间从500毫秒跳到了9秒,速度负载测试(GTmetrix和webgetest.org)中的网站PNG和JPEG图像现在导致404。请看这里的截图 总的来说,速度负载测试向我显示,网站加载速度为20-30秒,而不是之前的2.3秒 我不知道如何解决HTTP/2引起的这两个问题。

我做了什么:我调整了Wordpress网站,使其在2.3秒内加载,而不是之前的5秒。作为最后一步,我在LAMP服务器(PHP7.0,Apache2.4)中启用了HTTP/2并重新启动了Apache

问题:这样做,第一个字节的时间从500毫秒跳到了9秒,速度负载测试(GTmetrix和webgetest.org)中的网站PNG和JPEG图像现在导致404。请看这里的截图

总的来说,速度负载测试向我显示,网站加载速度为20-30秒,而不是之前的2.3秒


我不知道如何解决HTTP/2引起的这两个问题。欢迎任何建议。

我可能已经找到了答案。这与SSL证书有关。至少在我的情况下。我使用WHM/CPanel,SSL证书得到共享。HTTP2检测到这一点并发送421错误

来自Apache:

多个主机和错误定向的请求

许多站点对多个虚拟主机使用相同的TLS证书。 证书具有通配符名称,如“*.example.org”,或 带有几个备用名称。使用HTTP/2的浏览器将识别 这样就可以为这些主机重新使用已打开的连接

虽然这对性能来说很好,但它是有代价的:这样的vhost 在配置时需要更加小心。问题是你会的 在同一TLS连接上对多个主机有多个请求。 面对HTTP/2标准,这使得重新谈判变得不可能 禁止这样做

因此,如果有多个虚拟主机使用相同的证书和 要对它们使用HTTP/2,您需要确保所有vhost 具有完全相同的SSL配置。你需要同样的协议, 用于客户端验证的密码和设置

如果混合使用,ApacheHTTPD将检测到它并返回一个特殊的 向客户端发送的响应代码421错误请求


我禁用了http2,404/421错误停止。

我可能已经找到了答案。这与SSL证书有关。至少在我的情况下。我使用WHM/CPanel,SSL证书得到共享。HTTP2检测到这一点并发送421错误

来自Apache:

多个主机和错误定向的请求

许多站点对多个虚拟主机使用相同的TLS证书。 证书具有通配符名称,如“*.example.org”,或 带有几个备用名称。使用HTTP/2的浏览器将识别 这样就可以为这些主机重新使用已打开的连接

虽然这对性能来说很好,但它是有代价的:这样的vhost 在配置时需要更加小心。问题是你会的 在同一TLS连接上对多个主机有多个请求。 面对HTTP/2标准,这使得重新谈判变得不可能 禁止这样做

因此,如果有多个虚拟主机使用相同的证书和 要对它们使用HTTP/2,您需要确保所有vhost 具有完全相同的SSL配置。你需要同样的协议, 用于客户端验证的密码和设置

如果混合使用,ApacheHTTPD将检测到它并返回一个特殊的 向客户端发送的响应代码421错误请求

我禁用了http2,404/421错误停止