Error fetching http headers что это

SoftLayer API Examples, implementations, and release notes.

Error Fetching http headers is a common error to encounter when working with the SLAPI. Here is how to fix it.

"Error Fetching http headers" is a common error to encounter when working with the SLAPI. Fortunately, it is not terribly difficult to avoid. This error most commonly met when working with a large sets of data and can be a bit cryptic, as it seems to imply some sort of connection issue. In truth, it is a client side error provided when a timeout occurs while waiting for a response from the API.

When this error is encountered, there are three common solutions to head off the error by remedying either the timeout directly or how the API returns the results.

The Problem

Lets say you want to get information about your account, so you make a API call to SoftLayer_Account::getObject, which works perfectly fine. Then you add an object mask to that API call to pull in various relational properties, like invoices, tickets, hardware etc. Which all works fine because your account is new and doesn’t have many of those things on it. Time goes by, and slowly that API call starts taking a bit longer as each month you get increasingly more complex invoices, more tickets, hardware etc. Each time you make this API call, our database has to pull all of this information together before returning it to you, and eventually you’ll get hit with this error, and wonder what went wrong.

The Solutions

There isn’t really a hard limit on how many objects you can request in an API call, as it really just depends on how long it takes our database to get them all collected for you. However there are a few things you can try.

Socket Timeout

This varies depending on what client you are using to communicate with the SLAPI, but increasing your timeout limit to several minutes may help. Re-trying the request itself might also work. This is the easiest solution, but also the least likely to work long term.

Object masks

In our problem example, lets say we are using the following object mask mask[invoices, tickets, hardware], which will get our invoices, tickets, and hardware as you might expect. Since we have a great number of all of those, the API call returns "Error Fetching http headers", so we can use our object mask to limit what we get back.

We can do this by adding in some Local properties to limit the amount of data returned. mask[invoices[id], tickets[id], hardware[id]] for example, will only return the id of each invoice, ticket, and hardware. When you select Local properties in an object mask, all other unspecified properties are UNselected in turn.

Breaking up the API call

ALternatively, you can usually break up the API call into multiple parts. SoftLayer_Account::getObject(objectMask=mask[invoices, tickets, hardware]) could be broken up into

  • SoftLayer_Account::getInvoices()
  • SoftLayer_Account::getTickets()
  • SoftLayer_Account::getHardware()

Generally speaking, most relational properties on a service will have a corresponding get method. So tickets becomes getTickets.

Result limits

The use of result limits allows for pagination of the returned objects. By setting the number of objects to return and an offset to start from, batch processing of results is possible, which results in a quicker processing time overall.

The trick with result limits though is that the method you call has to return a list. SoftLayer_Account::getObject for example only returns a single object, so you can not use a result limit there. However, methods like SoftLayer_Account::getHardware return a list, and you can use a result limit to step through the data and avoid the error.

-Phil

У меня проблема с SOAP, но я не нашел реального ответа.

try {
$objResponse = $objSoapClient->$strMethod($objMethod->getSoapRequest());
}
catch (SoapFault $e) {
GlobalLogState::write("exception with code(".$e->getCode()."): n".$e->getMessage());
}

Это мой простой SOAP-запрос в блоке try catch.

Я получаю исключение SoapFault:

Error Fetching http headers

В чем причина этого?

2

Решение

Чтобы исправить эту ошибку, мы можем увеличить либо увеличить время ожидания сокета default_socket_time в php.ini или добавить connection_timeout параметр в массиве параметров передается конструктору SoapClient.

Эти параметры находятся в секунд.

  1. В php.ini

    default_socket_timeout = 120

Кроме того, вы можете изменить код

ini_set('default_socket_timeout', 120);

Примечание. Время ожидания сокета по умолчанию в php составляет 60 секунд.

  1. connection_timeout параметр в конструкторе SoapClient

$client = new SoapClient($wsdl, array('connection_timeout' => 120));

0

Другие решения

Конфигурация, которая работала для меня, определяла в моем php-скрипте следующие параметры:

    ini_set('default_socket_timeout', 5000);
$client = new SoapClient($url,array(
'trace' =>true,
'connection_timeout' => 5000,
'cache_wsdl' => WSDL_CACHE_NONE,
'keep_alive' => false,
));

Прокомментируйте, пожалуйста.

Самое важное определение параметра, согласно моему опыту с этой проблемой, было ini_set (‘default_socket_timeout’, 5000);

Во время моих тестов я установил default_socket_timeout равным 5 секундам, и ошибка «Ошибка получения заголовков http» возникла мгновенно.

Я надеюсь, что это поможет вам.

0

Bug #41983 Error Fetching http headers
Submitted: 2007-07-12 20:56 UTC Modified: 2017-03-31 14:03 UTC
Votes: 1
Avg. Score: 5.0 ± 0.0
Reproduced: 1 of 1 (100.0%)
Same Version: 1 (100.0%)
Same OS: 1 (100.0%)
From: ipso at snappymail dot ca Assigned: dmitry (profile)
Status: Closed Package: SOAP related
PHP Version: 5.2.3 OS: Linux
Private report: No CVE-ID: None

 [2007-07-12 20:56 UTC] ipso at snappymail dot ca

Description:
------------
I'm trying to use a SOAP API on an embedded device, the device is responding to the SOAP request, however PHP is saying there is an error fetching headers.

Reproduce code:
---------------
SOAP Request:
--------------------------------------------------------------------------
POST /iWsService HTTP/1.1
Host: 192.168.1.201
Connection: Keep-Alive
User-Agent: PHP-SOAP/5.2.3
Content-Type: text/xml; charset=utf-8
SOAPAction: "uri:zksoftware#GetDate"
Content-Length: 494
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="uri:zksoftware" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:GetDate><ArgComKey xsi:type="xsd:string">0</ArgComKey></ns1:GetDate></SOAP-ENV:Body></SOAP-ENV:Envelope>


Response from SOAP Server:
--------------------------------------------------------------------------
HTTP/1.0 200 OK
Server: ZK Web Server
Pragma: no-cache
Cache-control: no-cache
Content-Type: text/xml
Connection: close

<?xml version="1.0" encoding="iso8859-1" standalone="no"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<GetDateResponse>
<Row Date='2006-06-24' Time='14:24:11'></Row>
</GetDateResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

However PHP returns: [faultstring] => Error Fetching http headers




Expected result:
----------------
Expect PHP to parse the SOAP response properly.


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports

 [2007-07-13 08:06 UTC] arrakami at gmail dot com

I have the same problem and i would like to give some feedback too. But i can't find a way to capture the HTTP response. Any suggestions how i could do that? The soap server is 3rd party.

 [2007-07-13 08:34 UTC] dmitry@php.net

It seems like some kind of incompatibility between ext/soap and your soap or HTTP server. To fix the problem I need capture of HTTP response in binary form (including all special chars). Or give me a real PHP code that access buggy SOAP server so I'll able to reproduce it myself.

 [2007-07-13 15:40 UTC] ipso at snappymail dot ca

I emailed a TCP dump of the SOAP request/response to: dmitry@php.net

 [2007-07-19 16:27 UTC] ipso at snappymail dot ca

Just wanted to follow-up and make sure you got the email okay and have all the data you need to help track down the issue?

Thanks for looking into this.

 [2007-07-21 17:20 UTC] ipso at snappymail dot ca

I had someone look into this for me, apparently the device isn't sending the "rn" at the end of the header, but only "n". 

So instead of:
if (strcmp(headerbuf, "rn") == 0) {

Use:
if (strcmp(headerbuf, "rn") == 0 || strcmp(headerbuf, "n") == 0) {

 [2007-07-21 17:22 UTC] ipso at snappymail dot ca

Sorry, here is the file and line that needs changing:

ext/soap/php_http.c:1298

 [2007-07-24 09:28 UTC] dmitry@php.net

This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.


 [2017-03-31 13:51 UTC] maarten dot segers at amplexor dot com

How has this been resolved? We still experience the "Error Fetching http headers" error using SoapClient.

 [2017-03-31 13:53 UTC] spam2 at rhsoft dot net

> How has this been resolved? 
> We still experience the "Error Fetching http headers" 
> error using SoapClient

PHP Version: 5.2.3

how about stop re-open *10 years* old bugreports at least without mentioning you PHP version and if it's below 7.0.0 you won't get any change

 [2017-03-31 14:02 UTC] maarten dot segers at amplexor dot com

PHP 7.0.15-1~dotdeb+8.1

There's a ton of blog posts out there on "Error Fetching http headers" with SoapClient but after ten years the only ticket fixing this cryptic message doesn't explain how.

 [2017-03-31 14:03 UTC] requinix@php.net

-Block user comment: No
+Block user comment: Yes

используя PHP5 SoapClient; Я могу получить список функций, выполнив $client->__getFunctions() но когда я вызываю $client->myFunction(...) я всегда получаю эту ошибку.

Я googled и нашел, чтобы увеличить default_socket_timeout в php.ini, но это не сработало.

… всегда виноват.

Эта ошибка часто возникает, когда значение default_socket_timeout превышено для ответа SOAP. ( См. Эту ссылку .)

Примечание от конструктора SoapClient: параметр connection_timeout используется для определения значения тайм-аута для подключения к службе, а не для таймаута для его ответа.

Вы можете увеличить его так:

 ini_set('default_socket_timeout', 600); // or whatever new value you want 

Имейте в виду, что вы не должны использовать это как постоянное решение , а скорее, чтобы устранить эту ошибку, прежде чем перейти к исследованию, почему служба SOAP так медленно реагирует. Если услуга последовательно медленная, вам может потребоваться автономная / пакетная обработка.

Просто хотел поделиться решением этой проблемы в моей конкретной ситуации (у меня были одинаковые симптомы). В моем сценарии оказалось, что сертификат ssl, предоставляемый веб-службой, больше не доверяет. Фактически это было связано с новым брандмауэром, который был установлен клиентом, который мешал запросу SOAP, но конечным результатом было то, что сертификат не был правильно обслуживан / доверен.

Было немного сложно отследить, потому что вызов SoapClient (даже с трассировкой = 1) не дает очень полезной обратной связи.

Я смог доказать ненадежный сертификат, используя:

 openssl s_client -connect <web service host>:<port> 

Я знаю, что это не будет ответом на все проблемы, но, надеюсь, это помогает кому-то. В любом случае, я думаю, что важно понять, что причина этой ошибки (ошибка: «HTTP» faultstring: «Error Fetching http headers») обычно будет проблемой сети / сокета / протокола / связи, а не просто «недостаточно времени для запроса ». Я не могу себе представить, что расширение значения default_socket_timeout позволит решить эту проблему очень часто, и даже если это произойдет, наверняка было бы лучше решить вопрос о том, почему это так медленно в первую очередь.

Я полагаю, что уже слишком поздно, но у меня такая же проблема. Я пробую тайм-аут сокета, но он не работает. Моя проблема заключалась в том, что клиент и сервер, на том же физическом сервере. Когда клиентский код работает на одном и том же физическом сервере, я получаю эту ошибку, но с тем же кодом клиента, который переместился на мой локальный хост, запросив сервер (клиент и сервер были выполнены в двух разных мечках), все работает нормально.

Может быть, это может помочь кому-то другому!

Я просто хотел добавить, для полноты, что похоже на Manachi, я получил это сообщение, потому что сертификат клиента, который я использовал, требовал ключевой фразы, и у меня случайно был дополнительный символ в конце фразы. Это сообщение просто для того, чтобы предложить еще одно предложение для изучения. Если хост требует использования сертификата клиента (через параметр local_cert), убедитесь, что вы указали правильный путь к сертификату и правильную кодовую фразу (если необходимо). Если вы этого не сделаете, очень вероятно, что вы увидите это же сообщение об ошибке.

Ни один из вышеперечисленных методов не работал для меня.

Когда я проанализировал заголовок запроса из __getLastRequestHeaders, я увидел следующее:

POST /index.php/api/index/index/?SID=012345 HTTP/1.1 Host: www.XYZ.com

URL-адрес API, который я использовал, был другим, например, http://www.ABC.com. Я изменил URL-адрес API на http://www.XYZ.com/index.php/api?wsdl, а затем он сработал.

Оба URL-адреса вернули один и тот же WSDL с одного и того же сервера, но только один разрешенный вход в систему.

У меня была эта проблема, и я проверил, и в моем случае был брандмауэр. PHP неправильно показывает ошибку. Чтобы выполнить запрос, брандмауэр ответил:

 HTTP/1.1 200 OK Content-Type: text/html; charset=utf-8 ... <html ... <h1>Direct Access IP is not allowed</h1> ... </html> 

SoapClient ожидает конверт SOAP, но получает HTML-код. Вот почему PHP отвечает: «Ошибка получения заголовков Http», потому что он не может понять, что он получил в ответ. Чтобы устранить эту проблему, обратитесь к сетевому администратору, чтобы проверить, нет ли какого-либо брандмауэра, NAT или прокси-сервера, а затем попросить их принять необходимые меры.

Проверьте HTTP-заголовок ответа. В моем случае на API-сайте был установлен следующий заголовок:

 <IfModule mod_headers.c> Header set Connection keep-alive </IfModule> 

Кажется, что PHP SoapClient не может справиться с этим вариантом. В результате тело ответа было пустым, но длина содержимого в заголовке ответа была установлена ​​правильно.

Удалите эту строку или измените ее, чтобы «закрыть» решить мою проблему.

У меня была такая же проблема, и я попробовал следующее, отключив keep_alive .

 $api_proxy = new SoapClient($api_url, array('trace' => true, 'keep_alive' => false)); 

Однако это не сработало для меня. То, что работало для меня, было отключением кэша SOAP. Похоже, что кеширование неверных запросов и после отключения я фактически заметил, что мои запросы выполнялись быстрее.

На сервере linux вы можете найти это в файле /etc/php.ini .

Найдите soap.wsdl_cache_enabled=1 и измените его на soap.wsdl_cache_enabled=0 .

Не забудьте перезагрузить apache. service httpd reload

Конфигурация, которая работала для меня, определяла на моем php-скрипте следующие параметры:

 ini_set('default_socket_timeout', 5000); $client = new SoapClient($url,array( 'trace' =>true, 'connection_timeout' => 5000, 'cache_wsdl' => WSDL_CACHE_NONE, 'keep_alive' => false, )); 

Прокомментируйте, пожалуйста.

Наиболее важным параметрическим определением, согласно моему опыту с этой проблемой, было

 ini_set('default_socket_timeout', 5000); 

Во время моих тестов я определил значение default_socket_timeout до 5 секунд, и ошибка «Ошибочная выборка заголовков HTTP» была поднята мгновенно.

Надеюсь, это поможет!

Я пытаюсь вызвать WS через https на удаленном хосте: удаленный порт, и я получаю:

Ошибка при загрузке заголовков http

использование PHP5 SoapClient; Я могу получить список функций, выполнив $client->__getFunctions(), но когда я вызываю $client->myFunction(...), я всегда получаю эту ошибку.

Я гуглил и обнаружил, что увеличение default_socket_timeout в php.ini должно исправить это, но это не сработало.

Кто-нибудь может предложить мне решение?

ОБНОВЛЕНИЕ: вот код:

$wsdl="myWSDL";

$client = new SoapClient($wsdl,array('connection_timeout'=>5,'trace'=>true,'soap_version'=>SOAP_1_2));

var_dump($client->__getFunctions());

try {
    $response=$client->myFunction("1","2","3");
         } catch (SoapFault $fault) {
    var_dump($fault);
    }
}

всегда заканчивается ошибкой.

Как мне решить проблему?

Ответ 1

Эта ошибка часто наблюдается, когда значение default_socket_timeout превышено для ответа SOAP. (См. ссылку.)

Примечание от конструктора SoapClient: параметр connection_timeout используется для определения значения времени ожидания для подключения к службе, а не для времени ожидания его ответа.

Вы можете увеличить его так:

ini_set('default_socket_timeout', 600); // or whatever new value you want

Это должно сказать вам, является ли тайм-аут проблемой, или у вас есть другая проблема. Имейте в виду, что вы не должны использовать это как постоянное решение, а, скорее, посмотреть, избавится ли он от ошибки, прежде чем приступить к расследованию, почему служба SOAP реагирует так медленно. Если служба постоянно медленная, вам, возможно, придется рассмотреть возможность автономной/пакетной обработки.

Ответ 2

Просто хотел поделиться решением этой проблемы в моей конкретной ситуации (у меня были одинаковые симптомы). В моем сценарии оказалось, что сертификат ssl, предоставляемый веб-службой, больше не доверяет. Фактически это было связано с новым брандмауэром, который был установлен клиентом, который мешал запросу SOAP, но конечным результатом было то, что сертификат не был правильно обслуживан/доверен.

Было трудно отследить, потому что вызов SoapClient (даже с trace = 1) не дает очень полезной обратной связи.

Мне удалось доказать ненадежный сертификат, используя:

openssl s_client -connect <web service host>:<port>

Я знаю, что это не будет ответом на все проблемы, но, надеюсь, это помогает кому-то. В любом случае, я думаю, что важно понять, что причина этой ошибки (ошибка: «HTTP» faultstring: «Ошибка получения заголовков HTTP» ) обычно будет проблемой сети/сокета/протокола/связи, а не просто «недостаточно разрешать времени для запроса». Я не могу себе представить, что расширение значения default_socket_timeout позволит решить эту проблему очень часто, и даже если это произойдет, наверняка было бы лучше решить вопрос о том, почему это так медленно, в первую очередь.

Ответ 3

Я полагаю, что это слишком поздно, но у меня такая же проблема. Я пробую тайм-аут сокета, но он не работает.
Моя проблема заключалась в том, что клиент и сервер, на том же физическом сервере. Когда клиентский код работает на одном физическом сервере, я получаю эту ошибку, но с тем же кодом клиента, который перемещается на мой локальный хост, запрашивая сервер (клиент и сервер выполнялись в двух разных метоках) все работает нормально.

Возможно, это может помочь кому-то еще!

Ответ 4

Установка 'keep_alive' на false работала для меня:

new SoapClient($api_url, array('keep_alive' => false));

Ответ 5

Я столкнулся с той же проблемой и попробовал все вышеперечисленные решения. К сожалению, ничего не сработало.

  1. Тайм-аут сокета (не работает)
  2. Пользовательский агент (не работает)
  3. Конфигурация SoapClient, cache_wsdl и Keep-Alive и т.д…

Я решил свою проблему с добавлением свойства заголовка обжатия. Это действительно требуется, когда вы ожидаете ответа в сжатом формате gzip.

//set the Headers of Soap Client. 
$client = new SoapClient($wsdlUrl, array(
    'trace' => true, 
    'keep_alive' => true,
    'connection_timeout' => 5000,
    'cache_wsdl' => WSDL_CACHE_NONE,
    'compression'   => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP | SOAP_COMPRESSION_DEFLATE,
));

Надеюсь, это поможет.

Удачи.

Ответ 6

Конфигурация, которая работала для меня, определяла на моем php script следующие параметры:

ini_set('default_socket_timeout', 5000);
$client = new SoapClient($url,array(
    'trace' =>true,
    'connection_timeout' => 5000,
    'cache_wsdl' => WSDL_CACHE_NONE,
    'keep_alive' => false,
));

Прошу прокомментировать.

Самое важное определение параметра, согласно моему опыту с этой проблемой, было

ini_set('default_socket_timeout', 5000);

Во время моих тестов я определил default_socket_timeout до 5 секунд, и ошибка «Ошибки при получении заголовков http» была поднята мгновенно.

Надеюсь, это поможет вам!

Ответ 7

Я просто хотел добавить, для полноты, что похоже на Manachi, я получил это сообщение, потому что сертификат клиента, который я использовал, требовал кодовую фразу, и у меня случайно был дополнительный символ в конце фразы. Это сообщение просто для того, чтобы предложить еще одно предложение для изучения. Если хост требует использования сертификата клиента (через параметр local_cert), убедитесь, что вы указали правильный путь к сертификату и правильную кодовую фразу (если необходимо). Если вы этого не сделаете, очень вероятно, что вы увидите это же сообщение об ошибке.

Ответ 8

Ни один из вышеперечисленных методов не работал у меня.

Когда я проанализировал заголовок запроса из __getLastRequestHeaders, я увидел следующее:

POST /index.php/api/index/index/?SID=012345 HTTP/1.1
Host: www.XYZ.com

URL API, который я использовал, был другим, например, www.ABC.com. Я изменил URL-адрес API на www.XYZ.com/index.php/api?wsdl, а затем он сработал.

Оба URL-адреса возвратили один и тот же WSDL с одного и того же сервера, но только один разрешенный вход.

Ответ 9

У меня была эта проблема, и я проверил, и в моем случае был брандмауэр. PHP неправильно показывает ошибку. Чтобы выполнить запрос, ответил брандмауэр:

HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
...
<html
...
<h1>Direct Access IP is not allowed</h1>
...
</html>

SoapClient ожидает конверт SOAP, но получает код HTML.
Именно поэтому PHP отвечает: «Ошибка получения заголовков Http», потому что он не может понять, что он получил в ответ. Чтобы устранить эту проблему, обратитесь к сетевому администратору, чтобы проверить, нет ли какого-либо брандмауэра, NAT или прокси-сервера, а затем попросите их принять необходимые меры.

Ответ 10

Проверьте ответ HTTP-заголовка. В моем случае на API-сайте был установлен следующий заголовок:

<IfModule mod_headers.c>
    Header set Connection keep-alive
</IfModule>

Кажется, что PHP SoapClient не может справиться с этой опцией. В результате тело ответа было пустым, но длина содержимого в заголовке ответа была установлена ​​правильно.

Удалите эту строку или измените ее на «закрыть», решив мою проблему.

Ответ 11

У меня была такая же проблема, и я попробовал следующее, отключив keep_alive.

$api_proxy = new SoapClient($api_url, array('trace' => true, 'keep_alive' => false));

Однако это не сработало для меня. То, что работало для меня, было отключением кэша SOAP. Кажется, он кэшировал неправильные запросы, и после отключения я фактически заметил, что мои запросы выполнялись быстрее.

На сервере linux вы можете найти это в своем файле /etc/php.ini.

Найдите soap.wsdl_cache_enabled=1 и измените его на soap.wsdl_cache_enabled=0.

Не забудьте перезагрузить apache.
service httpd reload

Ответ 12

Другой возможной причиной этой ошибки могут быть некоторые операции OpenSSL, оставляющие не очищенные ошибки. Поместите этот фрагмент кода перед SOAP-запросом, чтобы очистить их:

while (openssl_error_string()) {}

Ответ 13

Я получил эту же ошибку, и в моем случае сервер, на который я отправлял запрос, отвечал с ошибкой тайм-аута шлюза 504. Я не осознавал этого, пока не пошел по URL-адресу в браузере, который запрашивался запросом SOAP:

например. https://soap-request-domain-here.com/path/to/file.wsdl

Ответ 14

Мы встречали Error fetching http headers при каждом втором вызове SoapClient::__soapCall(,). Однако не каждая конечная точка/сервер мыла была затронута.

Оказалось, что переключение на http надежно работает для всех серверов, но соединения через https/безопасный HTTP показали вышеупомянутые симптомы.
openssl_error_string(), как предложил Furgas, не вернул никаких ошибок.

Оказалось, что некорректно работающие мыльные серверы отправляют HTTP-заголовок с каждым ответом, что приводит к тому, что мыльный клиент задыхается от второго мыльного вызова:
Connection: Upgrade, close. Хорошо работающие серверы не отправили Обновление на последовательные ответы.

Что сработало для нас:

  • установив keep_alive в значение false, как упомянул Тьяго
  • Отключение заголовков Upgrade- и Connection через файлы .htaccess

Хотя мыльные серверы с хорошим поведением не нуждались в этом, однажды для неправильного поведения потребовалось установить для keep_alive значение false и отключить заголовки.

# .htaccess
Header unset Upgrade
Header unset Connection

Основная причина до сих пор неясна, но в Apache имеется отчет об ошибке относительно заголовков обновления при использовании HTTPS.

Понравилась статья? Поделить с друзьями:
  • Error fetching auth tokens from server quota exceeded
  • Error fetching api перевод
  • Error fetching api windscribe
  • Error feedback required instagram
  • Error fault cause vim fault filenotfound