ElenaVK |
|
Статус: Новичок Группы: Участники
|
При попытке подписания документы появляется ошибка 0xC2110100. |
|
|
Захар Тихонов |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 38 раз |
Автор: ElenaVK При попытке подписания документы появляется ошибка 0xC2110100. Здравствуйте. Если в сертификате отсутствует URL на службу OCSP, то требуется обратиться в УЦ (в котором вы получили данный сертификат) и узнать — предоставляют ли они такую услугу. |
Техническую поддержку оказываем тут. |
|
|
|
Пользователи, просматривающие эту тему |
Guest |
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
kolper |
|
Статус: Активный участник Группы: Участники Сказал(а) «Спасибо»: 7 раз |
Не получается выполнить проверку ([url=https://www.cryptopro.ru/sites/default/files/products/cades/demopage/cades_xlong_sample.html] Окно проверки пишет «Не удалось создать подпись из-за ошибки: При попытке отправки запроса возникла ошибка HTTP (0xC2110100)» Информации тут немного. Пытался разобраться в логах Stunnel — очевидных ошибок не увидел. stunnel.conf.txt (1kb) загружен 4 раз(а). stunnel.log (24kb) загружен 3 раз(а). Сам плагин — в норме. Отредактировано пользователем 17 февраля 2023 г. 14:16:59(UTC) |
|
|
Александр Лавник |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 53 раз |
Автор: kolper Не получается выполнить проверку ([url=https://www.cryptopro.ru/sites/default/files/products/cades/demopage/cades_xlong_sample.html] Окно проверки пишет «Не удалось создать подпись из-за ошибки: При попытке отправки запроса возникла ошибка HTTP (0xC2110100)» Информации тут немного. Пытался разобраться в логах Stunnel — очевидных ошибок не увидел. stunnel.conf.txt (1kb) загружен 4 раз(а). stunnel.log (24kb) загружен 3 раз(а). Сам плагин — в норме. Судя по ошибке: https://docs.cryptopro.r…0%b5%d0%ba%d0%b8-ocspcli проблема в том, что не прописан адрес OCSP-службы. См. Настройки для «КриптоПро ЭЦП Browser Plug-in» в инструкции: https://file.cryptopro.r…_doverennogo_vremeni.pdf |
Техническую поддержку оказываем тут |
|
|
|
kolper |
|
Статус: Активный участник Группы: Участники Сказал(а) «Спасибо»: 7 раз |
С адресами все в норме (прописаны в обоих сертификатах, юзера и компа), с лицензиями — тоже все ОК |
|
|
kolper |
|
Статус: Активный участник Группы: Участники Сказал(а) «Спасибо»: 7 раз |
Концовка лога выглядит вообще прилично: Цитата: 2023.02.17 13:41:25 LOG6[4688:12624]: SSL_shutdown successfully sent close_notify Successfully, 618 bytes sent to SSL, 995 bytes sent to socket… В чем же проблема? |
|
|
kolper |
|
Статус: Активный участник Группы: Участники Сказал(а) «Спасибо»: 7 раз |
После длительной переписки с ЦБ РФ (и проверки и тестирования всех возможных настроек) получен ответ от ЦБ: Подскажите — что делать? Куда копать? Перепробовал, кажется, все: Результат один: Отредактировано пользователем 9 марта 2023 г. 10:16:01(UTC) |
|
|
kolper |
|
Статус: Активный участник Группы: Участники Сказал(а) «Спасибо»: 7 раз |
Если поможет — картинка с wireshark: И логи stunnel: |
|
|
TolikTipaTut1 |
|
Статус: Активный участник Группы: Участники Сказал(а) «Спасибо»: 41 раз |
Есть такая ветка, может поможет. |
GithHub: https://github.com/anatolkavassermann/ |
|
|
|
kolper |
|
Статус: Активный участник Группы: Участники Сказал(а) «Спасибо»: 7 раз |
Посмотрел, спасибо. В остальном — все у меня, вроде, соответствует. Нашел еще ветку интересную — вот тут |
|
|
Санчир Момолдаев |
|
Статус: Сотрудник Группы: Модератор, Участники Сказал(а) «Спасибо»: 86 раз |
лучше по таким вопросам писать на портал. в сертификате скорее всего указаны службы ocsp Цитата: http://tsp1.ca.cbr.ru/ocsp и http://tsp2.ca.cbr.ru/ocsp 80 порт как мы видим. в конфиге stunnel у вас слушаются порты 10001 и 10002 вам надо завернуть траффик в stunnel для tsp указываем службу с портом как вы и делаете. для ocsp нужно указать адрес в свойстах сертификата уц издателя т.е. например такие Цитата: http://tsp1.ca.cbr.ru:10001/ocsp и http://tsp2.ca.cbr.ru:10002/ocsp |
Техническую поддержку оказываем тут |
|
|
|
kolper |
|
Статус: Активный участник Группы: Участники Сказал(а) «Спасибо»: 7 раз |
1. В сертификате — да, указано вот такое: Адреса для получения сертификата УЦ 2. «для ocsp нужно указать адрес в свойстах сертификата уц издателя» 3. В файле hosts есть запись: 4. «вам надо завернуть траффик в stunnel; для этого tsp{1,2}.ca.cbr.ru пишем в хостах на локалхост» |
|
|
Пользователи, просматривающие эту тему |
Guest |
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Коды ошибок
Коды ошибок библиотеки tspcli
Код ошибки | Описаниие |
---|---|
0xC2100100 | При попытке отправки запроса возникла ошибка HTTP |
0xC2100101 | Указанный тип аутентификации запрещен групповой политикой |
0xC2100102 | Указанный тип аутентификации прокси-сервера запрещен групповой политикой |
0xC2100103 | Указанная служба штампов запрещена групповой политикой |
0xC2100104 | Использование поля Nonce запрещено групповой политикой |
0xC2100110 | Указанный алгоритм хэширования запрещен групповой политикой |
0xC2100111 | Указанный «PolicyID» запрещен групповой политикой |
0xC2100120 | Значение полей «Nonce» запроса и штампа не совпадают |
0xC2100121 | Не задан адрес службы штампов времени |
0xC2100122 | Штамп времени просрочен (выдан слишком давно) |
0xC2100123 | В запросе отсутствует хэш-значение |
0xC2100124 | Получен ответ службы штампов времени с ошибкой |
0xC2100140 | Лицензия на КриптоПро TSP Client истекла или не была введена |
Коды ошибок библиотеки ocspcli
Код ошибки | Описаниие |
---|---|
0xC2110100 | При попытке отправки запроса возникла ошибка HTTP |
0xC2110101 | Указанный тип аутентификации запрещен групповой политикой |
0xC2110102 | Указанный тип аутентификации прокси-сервера запрещен групповой политикой |
0xC2110103 | Указанная служба OCSP запрещена групповой политикой |
0xC2110104 | Встречено расширение (AcceptableTypes или Nonce), запрещенное групповой политикой |
0xC2110110 | Подписанные OCSP-запросы запрещены политикой |
0xC2110111 | Неподписанные OCSP-запросы запрещены политикой |
0xC2110120 | Поля «Nonce» OCSP-запроса и ответа не совпадают |
0xC2110121 | Не задан адрес службы OCSP |
0xC2110122 | OCSP-ответ просрочен по значению поля «ProducedAt» или «NextUpdate» |
0xC2110123 | Значение поля «ThisUpdate» OCSP-ответа просрочено |
0xC2110124 | Значение поля «NextUpdate» OCSP-ответа меньше значения «ThisUpdate» |
0xC2110125 | В OCSP-ответе не найден запрашиваемый статус сертификата |
0xC2110126 | Сертификат отозван |
0xC2110127 | Статус сертификата не известен |
0xC2110128 | Получен OCSP-ответ с ошибкой |
0xC2110129 | Полученный OCSP-ответ содержит неизвестное критическое расширение |
0xC2110130 | Время Службы OCSP рассинхронизировано со Службой штампов времени |
0xC2110140 | Лицензия на КриптоПро OCSP Client (Revocation Provider) истекла или не была введена |
Расшифровка 55 состояний прикладного протокола HTTP (протокол передачи гипертекста): от информационных сообщений до ошибок.
Во время запроса информации с удаленного веб-сервера может возникнуть ошибка. Тогда веб-сервер посылает в ответ код ошибки HTTP. Например 404 — Not Found (ресурс не найден).
Коды состояния HTTP состоят из трех цифр от 100 и до 510. Они делятся на следующие группы:
- Информационные (100-105).
- Успешные (200-226).
- Перенаправление (300-307).
- Ошибка клиента (400-499).
- Ошибка сервера (500-510).
Чтобы получить сведения об ошибке, введите её код в поле поиска по странице. Для этого нажмите сочетание клавиш CTRL + F и укажите номер.
100
Continue
Cервер удовлетворён начальными сведениями о запросе, клиент может продолжать пересылать заголовки. Появился в HTTP/1.1.
101
Switching Protocols
Сервер предлагает перейти на более подходящий для указанного ресурса протокол; список предлагаемых протоколов сервер обязательно указывает в поле заголовкаUpdate. Если клиента это заинтересует, то он посылает новый запрос с указанием другого протокола. Появился в HTTP/1.1.
102
Processing
Запрос принят, но на его обработку понадобится длительное время. Используется сервером, чтобы клиент не разорвал соединение из-за превышения времени ожидания. Клиент при получении такого ответа должен сбросить таймер и дожидаться следующей команды в обычном режиме. Появился в WebDAV.
200
ОК
Успешный запрос. Если клиентом были запрошены какие-либо данные, то они находятся в заголовке и/или теле сообщения. Появился в HTTP/1.0.
201
Created
В результате успешного выполнения запроса был создан новый ресурс. Сервер должен указать его местоположение в заголовке Location. Серверу рекомендуется[источник не указан 336 дней] ещё указывать в заголовке характеристики созданного ресурса (например, в поле Content-Type). Если сервер не уверен, что ресурс действительно будет существовать к моменту получения данного сообщения клиентом, то лучше использовать ответ с кодом 202. Появился в HTTP/1.0.
202
Accepted
Запрос был принят на обработку, но она не завершена. Клиенту не обязательно дожидаться окончательной передачи сообщения, так как может быть начат очень долгий процесс. Появился в HTTP/1.0.
203
Non-Authoritative Information
Аналогично ответу 200, но в этом случае передаваемая информация была взята не из первичного источника (резервной копии, другого сервера и т. д.) и поэтому может быть неактуальной. Появился в HTTP/1.1.
204
No Content
Сервер успешно обработал запрос, но в ответе были переданы только заголовки без тела сообщения. Клиент не должен обновлять содержимое документа, но может применить к нему полученные метаданные. Появился в HTTP/1.0.
205
Reset Content
Сервер обязывает клиента сбросить введённые пользователем данные. Тела сообщения сервер при этом не передаёт и документ обновлять не обязательно. Появился в HTTP/1.1.
206
Partial Content
Сервер удачно выполнил частичный GET-запрос, возвратив только часть сообщения. В заголовке Content-Range сервер указывает байтовые диапазоны содержимого. Особое внимание при работе с подобными ответами следует уделить кэшированию. Появился в HTTP/1.1. (подробнее…)
207
Multi-Status
Сервер передаёт результаты выполнения сразу нескольких независимых операций. Они помещаются в само тело сообщения в виде XML-документа с объектом multistatus. Не рекомендуется размещать в этом объекте статусы из серии 1xx из-за бессмысленности и избыточности. Появился в WebDAV.
226
IM Used
Заголовок A-IM от клиента был успешно принят и сервер возвращает содержимое с учётом указанных параметров. Введено в RFC 3229 для дополнения протокола HTTP поддержкой дельта-кодирования.
300
Multiple Choices
По указанному URI существует несколько вариантов предоставления ресурса по типу MIME, по языку или по другим характеристикам. Сервер передаёт с сообщением список альтернатив, давая возможность сделать выбор клиенту автоматически или пользователю. Появился в HTTP/1.0.
301
Moved Permanently
Запрошенный документ был окончательно перенесен на новый URI, указанный в поле Location заголовка. Некоторые клиенты некорректно ведут себя при обработке данного кода. Появился в HTTP/1.0.
302
Found, Moved Temporarily
Запрошенный документ временно доступен по другому URI, указанному в заголовке в поле Location. Этот код может быть использован, например, приуправляемом сервером согласовании содержимого. Некоторые клиенты некорректно ведут себя при обработке данного кода. Введено в HTTP/1.0.
303
See Other
Документ по запрошенному URI нужно запросить по адресу в поле Location заголовка с использованием метода GET несмотря даже на то, что первый запрашивался иным методом. Этот код был введён вместе с 307-ым для избежания неоднозначности, чтобы сервер был уверен, что следующий ресурс будет запрошен методом GET. Например, на веб-странице есть поле ввода текста для быстрого перехода и поиска. После ввода данных браузер делает запрос методом POST, включая в тело сообщения введённый текст. Если обнаружен документ с введённым названием, то сервер отвечает кодом 303, указав в заголовке Location его постоянный адрес. Тогда браузер гарантировано его запросит методом GET для получения содержимого. В противном случае сервер просто вернёт клиенту страницу с результатами поиска. Введено в HTTP/1.1.
304
Not Modified
Сервер возвращает такой код, если клиент запросил документ методом GET, использовал заголовок If-Modified-Since или If-None-Match и документ не изменился с указанного момента. При этом сообщение сервера не должно содержать тела. Появился в HTTP/1.0.
305
Use Proxy
Запрос к запрашиваемому ресурсу должен осуществляться через прокси-сервер, URI которого указан в поле Location заголовка. Данный код ответа могут использовать только исходные HTTP-сервера (не прокси). Введено в HTTP/1.1.
306
(зарезервировано)
использовавшийся раньше код ответа, в настоящий момент зарезервирован. Упомянут в RFC 2616 (обновление HTTP/1.1).
307
Temporary Redirect
Запрашиваемый ресурс на короткое время доступен по другому URI, указанный в поле Location заголовка. Этот код был введён вместе с 303 вместо 302-го для избежания неоднозначности. Введено в RFC 2616 (обновление HTTP/1.1).
400
Bad Request
Сервер обнаружил в запросе клиента синтаксическую ошибку. Появился в HTTP/1.0.
401
Unauthorized
Для доступа к запрашиваемому ресурсу требуется аутентификация. В заголовке ответ должен содержать поле WWW-Authenticate с перечнем условий аутентификации. Клиент может повторить запрос, включив в заголовок сообщения поле Authorization с требуемыми для аутентификации данными.
402
Payment Required
Предполагается использовать в будущем. В настоящий момент не используется. Этот код предусмотрен для платных пользовательских сервисов, а не для хостинговыхкомпаний. Имеется в виду, что эта ошибка не будет выдана хостинговым провайдером в случае просроченной оплаты его услуг. Зарезервирован, начиная с HTTP/1.1.
403
Forbidden
Сервер понял запрос, но он отказывается его выполнять из-за ограничений в доступе для клиента к указанному ресурсу. Если для доступа к ресурсу требуется аутентификация средствами HTTP, то сервер вернёт ответ 401 или 407 при использовании прокси. В противном случае ограничения были заданы администратором сервера или разработчиком веб-приложения и могут быть любыми в зависимости от возможностей используемого программного обеспечения. В любом случае клиенту следует сообщить причины отказа в обработке запроса. Наиболее вероятными причинами ограничения может послужить попытка доступа к системным ресурсам веб-сервера (например, файлам .htaccess или .htpasswd) или к файлам, доступ к которым был закрыт с помощью конфигурационных файлов, требование аутентификации не средствами HTTP, например, для доступа к системе управления содержимым или разделу для зарегистрированных пользователей либо сервер не удовлетворён IP-адресом клиента, например, при блокировках. Появился в HTTP/1.0.
404
Not Found
Самая распространенная ошибка при пользовании Интернетом, основная причина — ошибка в написании адреса Web-страницы. Сервер понял запрос, но не нашёл соответствующего ресурса по указанному URI. Если серверу известно, что по этому адресу был документ, то ему желательно использовать код 410. Ответ 404 может использоваться вместо 403, если требуется тщательно скрыть от посторонних глаз определённые ресурсы. Появился в HTTP/1.0.
405
Method Not Allowed
Указанный клиентом метод нельзя применить к текущему ресурсу. В ответе сервер должен указать доступные методы в заголовке Allow, разделив их запятой. Эту ошибку сервер должен возвращать, если метод ему известен, но он не применим именно к указанному в запросе ресурсу, если же указанный метод не применим на всём сервере, то клиенту нужно вернуть код 501 (Not Implemented). Появился в HTTP/1.1.
406
Not Acceptable
Запрошенный URI не может удовлетворить переданным в заголовке характеристикам. Если метод был не HEAD, то сервер должен вернуть список допустимых характеристик для данного ресурса. Появился в HTTP/1.1.
407
Proxy Authentication Required
Ответ аналогичен коду 401 за исключением того, что аутентификация производится для прокси-сервера. Механизм аналогичен идентификации на исходном сервере. Появился в HTTP/1.1.
408
Request Timeout
Время ожидания сервером передачи от клиента истекло. Клиент может повторить аналогичный предыдущему запрос в любое время. Например, такая ситуация может возникнуть при загрузке на сервер объёмного файла методом POST или PUT. В какой-то момент передачи источник данных перестал отвечать, например, из-за повреждения компакт-диска или потеря связи с другим компьютером в локальной сети. Пока клиент ничего не передаёт, ожидая от него ответа, соединение с сервером держится. Через некоторое время сервер может закрыть соединение со своей стороны, чтобы дать возможность другим клиентам сделать запрос. Этот ответ не возвращается, когда клиент принудительно остановил передачу по команде пользователя или соединение прервалось по каким-то иным причинам, так как ответ уже послать невозможно. Появился в HTTP/1.1.
409
Conflict
Запрос не может быть выполнен из-за конфликтного обращения к ресурсу. Такое возможно, например, когда два клиента пытаются изменить ресурс с помощью метода PUT.Появился в HTTP/1.1.
410
Gone
Такой ответ сервер посылает, если ресурс раньше был по указанному URL, но был удалён и теперь недоступен. Серверу в этом случае неизвестно и местоположение альтернативного документа, например, копии). Если у сервера есть подозрение, что документ в ближайшее время может быть восстановлен, то лучше клиенту передать код 404. Появился в HTTP/1.1.
411
Length Required
Для указанного ресурса клиент должен указать Content-Length в заголовке запроса. Без указания этого поля не стоит делать повторную попытку запроса к серверу по данному URI. Такой ответ естественен для запросов типа POST и PUT. Например, если по указанному URI производится загрузка файлов, а на сервере стоит ограничение на их объём. Тогда разумней будет проверить в самом начале заголовок Content-Length и сразу отказать в загрузке, чем провоцировать бессмысленную нагрузку, разрывая соединение, когда клиент действительно пришлёт слишком объёмное сообщение. Появился в HTTP/1.1.
412
Precondition Failed
Возвращается, если ни одно из условных полей заголовка[неизвестный термин] запроса не было выполнено. Появился в HTTP/1.1.
413
Request Entity Too Large
Возвращается в случае, если сервер отказывается обработать запрос по причине слишком большого размера тела запроса. Сервер может закрыть соединение, чтобы прекратить дальнейшую передачу запроса. Если проблема временная, то рекомендуется в ответ сервера включить заголовок Retry-After с указанием времени, по истечении которого можно повторить аналогичный запрос. Появился в HTTP/1.1.
414
Request-URL Too Long
Сервер не может обработать запрос из-за слишком длинного указанного URL. Такую ошибку можно спровоцировать, например, когда клиент пытается передать длинные параметры через метод GET, а не POST. Появился в HTTP/1.1.
415
Unsupported Media Type
По каким-то причинам сервер отказывается работать с указанным типом данных при данном методе. Появился в HTTP/1.1.
416
Requested Range Not Satisfiabl
В поле Range заголовка запроса был указан диапазон за пределами ресурса и отсутствует поле If-Range. Если клиент передал байтовый диапазон, то сервер может вернуть реальный размер в поле Content-Range заголовка. Данный ответ не следует использовать при передаче типа multipart/byteranges[источник не указан 336 дней]. Введено в RFC 2616 (обновление HTTP/1.1).
417
Expectation Failed
По каким-то причинам сервер не может удовлетворить значению поля Expect заголовка запроса. Введено в RFC 2616 (обновление HTTP/1.1).
422
Unprocessable Entity
Сервер успешно принял запрос, может работать с указанным видом данных, в теле запроса XML-документ имеет верный синтаксис, но имеется какая-то логическая ошибка, из-за которой невозможно произвести операцию над ресурсом. Введено в WebDAV.
423
Locked
Целевой ресурс из запроса заблокирован от применения к нему указанного метода. Введено в WebDAV.
424
Failed Dependency
Реализация текущего запроса может зависеть от успешности выполнения другой операции. Если она не выполнена и из-за этого нельзя выполнить текущий запрос, то сервер вернёт этот код. Введено в WebDAV.
425
Unordered Collection —
Посылается, если клиент послал запрос, обозначив положение в неотсортированной коллекции или используя порядок следования элементов, отличный от серверного[уточнить]. Введено в черновике по WebDAV Advanced Collections Protocol[14].
426
Upgrade Required
Сервер указывает клиенту на необходимость обновить протокол. Заголовок ответа должен содержать правильно сформированные поля Upgrade и Connection. Введено вRFC 2817 для возможности перехода к TLS посредством HTTP.
449
Retry With
Возвращается сервером, если для обработки запроса от клиента поступило недостаточно информации. При этом в заголовок ответа помещается поле Ms-Echo-Request. Введено корпорацией Microsoft для WebDAV. В настоящий момент как минимум используется программой Microsoft Money.
456
Unrecoverable Error
Возвращается сервером, если обработка запроса вызывает некорректируемые сбои в таблицах баз данных[источник не указан 336 дней]. Введено корпорацией Microsoftдля WebDAV.
500
Internal Server Error
Любая внутренняя ошибка сервера, которая не входит в рамки остальных ошибок класса. Появился в HTTP/1.0.
501
Not Implemented
Сервер не поддерживает возможностей, необходимых для обработки запроса. Типичный ответ для случаев, когда сервер не понимает указанный в запросе метод. Если же метод серверу известен, но он не применим к данному ресурсу, то нужно вернуть ответ 405. Появился в HTTP/1.0.
502
Bad Gateway
Сервер, выступая в роли шлюза или прокси-сервера, получил недействительное ответное сообщение от вышестоящего сервера. Появился в HTTP/1.0.
503
Service Unavailable
Сервер временно не имеет возможности обрабатывать запросы по техническим причинам (обслуживание, перегрузка и прочее). В поле Retry-After заголовка сервер может указать время, через которое клиенту рекомендуется повторить запрос. Хотя во время перегрузки очевидным кажется сразу разрывать соединение, эффективней может оказаться установка большого значения поля Retry-After для уменьшения частоты избыточных запросов. Появился в HTTP/1.0.
504
Gateway Timeout
Сервер в роли шлюза или прокси-сервера не дождался ответа от вышестоящего сервера для завершения текущего запроса. Появился в HTTP/1.1.
505
HTTP Version Not Supported
Сервер не поддерживает или отказывается поддерживать указанную в запросе версию протокола HTTP. Появился в HTTP/1.1.
506
Variant Also Negotiates
В результате ошибочной конфигурации выбранный вариант указывает сам на себя, из-за чего процесс связывания прерывается. Экспериментальное. Введено в RFC 2295 для дополнения протокола HTTP технологией Transparent Content Negotiation.
507
Insufficient Storage
Не хватает места для выполнения текущего запроса. Проблема может быть временной. Введено в WebDAV.
509
Bandwidth Limit Exceeded
Используется при превышении веб-площадкой отведённого ей ограничения на потребление трафика. В данном случае владельцу площадки следует обратиться к своему хостинг-провайдеру. В настоящий момент данный код не описан ни в одном RFC и используется только модулем «bw/limited», входящим в панель управления хостингом cPanel, где и был введён.
510
Not Extended
На сервере отсутствует расширение, которое желает использовать клиент. Сервер может дополнительно передать информацию о доступных ему расширениях. Введено в RFC 2774 для дополнения протокола HTTP поддержкой расширений.
Я работаю над проектом iOS.
в этом приложении я загружаю изображения с сервера.
:
при загрузке изображений я получаю Тайм-Аут Запроса. Согласно документации код состояния HTTP тайм-аута запроса 408
.
но в моем приложении я получаю код состояния HTTP код 0
со следующей ошибкой
Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo=0xb9af710 {NSErrorFailingURLStringKey=http://xxxx.com/resources/p/PNG/1383906967_5621_63.jpg, NSErrorFailingURLKey=http://xxxx.com/resources/p/PNG/1383906967_5621_63.jpg, NSLocalizedDescription=The request timed out., NSUnderlyingError=0x13846870 "The request timed out."}
во время поиска по интернету I не найден код состояния HTTP 0.
может ли кто-нибудь объяснить мне это?
11 ответов
нет кода состояния HTTP 0. Вы видите 0, возвращаемый API / библиотекой, которую вы используете. Для этого вам придется проверить документацию.
код состояния 0 в NSHTTPURLResponse
объект обычно означает, что ответа не было, и может возникнуть по разным причинам. Сервер никогда не вернет статус 0, так как это недопустимый код состояния HTTP.
в вашем случае, вы появляется чтобы получить код состояния 0, потому что запрос тайм-аут и 0 только значение по умолчанию для свойства. Сам тайм-аут может быть по разным причинам, например сервер просто не отвечает вовремя, блокируется брандмауэром или отключением всего сетевого подключения. Обычно в случае последнего, хотя телефон достаточно умен, чтобы знать, что у него нет сетевого подключения и сразу же произойдет сбой. Однако он по-прежнему будет терпеть неудачу с очевидным кодом состояния 0.
обратите внимание, что в случаях, когда код состояния равен 0, реальная ошибка фиксируется в возвращаемом
в iOS SDK при тайм-аутах вызова API вы получаете статус 0 для этого.
7
автор: Ankit Kumar Gupta
из моего скромного опыта, я бы сказал, что следующие два сценария могут вызвать ответ status code: 0
имейте в виду, их могло быть и больше, но я знаю этих двух:
- ваше соединение, возможно, реагирует медленно.
- или, возможно, сервер не доступен.
дело в том, что status: 0
немного общий, и их может быть больше случаев использования, которые вызывают пустое тело ответа.
мы получили ошибку:
GET http://localhost/pathToWebSite/somePage.аспн поднял http.статус: Ошибка 0
этот вызов выполняется из задачи windows, которая вызывает файл VBS, поэтому для устранения неполадок укажите браузер на url-адрес, и мы получим ошибку конфиденциальности:
ваше соединение не является частным
злоумышленники могут пытаться похитить ваши данные с localhost
(например, пароли, сообщения, или кредитная карта.)
NET:: ERR_CERT_COMMON_NAME_INVALIDавтоматически сообщать подробности о возможных инцидентах безопасности в Google.
Политика конфиденциальности Back to safety этот сервер не может доказать, что это
localhost; его сертификат безопасности от *.ourdomain.com — … Это может
быть вызвано неправильной конфигурацией или злоумышленником, перехватывающим
соединение. Учить больше.
Это потому, что у нас есть набор правил перезаписи URL IIS для принудительного подключения с использованием https. Это правило отвлекает http://localhost до https://localhost но наш SSL-сертификат основан на внешнем доменном имени не localhost, таким образом, ошибка, которая сообщается как код состояния 0. Таким образом, ошибка конфиденциальности может быть очень неясной причиной для этого кода состояния 0.
в нашем случае решением было добавить исключение из правил для localhost и разрешить http://localhost/pathToWebSite/somePage.аспн использовать http. Неясно, да, но я столкнусь в следующем году, и теперь я найду свой ответ в поиске google.
HTTP-ответ 0 не является стандартным HTTP-ответом. Но это указывает на то, что клиент не смог подключиться к серверу и, следовательно, произошло тайм-аут.
у меня есть java-скрипт ajax client & NodeJS express application server
клиентский код выглядит так:
...
var status1 = xmlHttpRequest.status;
...
код сервера выглядит так:
...
// An exception here results HTTP status codes in status1 (at client side above)
...
...
var reqDb = http.request(options, requestCompleteCallback);
...
...
function requestCompleteCallback(response) {
...
// An exception here results in 0 in status1 (at client side above)
...
}
30 минут борьбы, чтобы понять это.
Надеюсь, этот пост кому-то поможет.
удачи.
0
автор: Manohar Reddy Poreddy
on Gate way timeout, статус будет равен нулю при обратном вызове ошибки.
.error( function( data,status,headers,config){
console.log(status)
}
коды состояния HTTP
код состояния ‘0’ может произойти из-за три причины
1) Клиент не удается подключиться к серверу
2) Клиент не удается получить ответ в течение периода ожидания
3) запрос «остановлен(прерван)» клиент.
но эти три причины не стандартизированы
0
автор: Hariprasath Yadav