我将文件托管在由CocoaPods作为Pod的一部分获取的服务器上。 CocoaPods内部使用curl来获取它。最新的macOS 10.14.2(18C54)中的Curl 7.54.0具有a bug,这会导致通过HTTP / 2提取的文件出现问题。这意味着使用我的Pod的开发人员由于curl漏洞而导致安装失败。
由于Cocoapods内部使用了curl,所以我无法提供用于卷曲的命令行开关(至少我不认为Cocoapods提供了这样做的方法)。
是否可以使用Apache配置,htaccess或PHP强制实施HTTP / 1.1?
答案 0 :(得分:0)
cURL
具有命令行开关-http1.1
。在PHP中可能是:
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
...至少就是documentation所说的。
mod_rewrite
也可用于禁止HTTP/2.0
(但不知道如何切换):
RewriteCond %{SERVER_PROTOCOL} ^HTTP/2\.0$ [NC]
RewriteRule . [F,L]
我认为虚拟主机配置是最可靠的(在.htaccess
文件中无效):
PolicyVersion enforce HTTP/1.1
答案 1 :(得分:0)
您可以通过设置选项CURLOPT_HTTP_VERSION
// default, lets CURL decide which version to use
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_NON);
// forces HTTP/1.0
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
// forces HTTP/1.1
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);