Как установить тайм-аут для проверки cURL CRL?

       curl --connect-timeout 5 --doh-url $dohUrl --max-time 10 --tlsv1.3 ....

Я пытался использовать либо--connect-timeout,--max-timeили и то, и другое одновременно, как вы можете видеть выше, все же cURL тратит так много времени, пытаясь проверить CRL, и я хочу сказать ему прекратить это делать, если это займет больше 5 секунд. в настоящее время cURL продолжает попытки CRL в течение 20 секунд, а затем выдает эту ошибку:

      curl: (35) schannel: next InitializeSecurityContext failed: Unknown error (0x80092013) - The revocation function was unable to check revocation because the revocation server was offline.

это преднамеренный сценарий, который я хочу использовать cURL. я не хочу ставить--ssl-no-revokeпоскольку это полностью пропускает проверку CRL, я просто не хочу, чтобы cURL продолжал пытаться CRL более 5 секунд и выдавал эту ошибку через 5 секунд вместо 20+ секунд.

-m, --max-time Максимальное время в секундах, которое может занять вся операция. Это полезно для предотвращения зависания ваших пакетных заданий в течение нескольких часов из-за медленных сетей или отказов каналов. Начиная с версии 7.32.0, эта опция принимает десятичные значения, но точность фактического тайм-аута будет уменьшаться по мере увеличения десятичной точности заданного тайм-аута.

цитирую отсюда. почему cURL не учитывает этот параметр? Я установил его на 10 секунд, но это занимает более 20 секунд, просто застряв на этапе проверки CRL. проблема в том, где в команде я использую этот параметр?

Я не хочу делать ничего лишнего и не хочу сам проверять сертификат или CRL другими методами.

вы можете легко проверить это, просто установите неверные данные DoH в настройках Windows, чтобы DNS-разрешение не работало, но вы все равно могли получить доступ к веб-ресурсам, используя их IP-адреса.

0 ответов

Другие вопросы по тегам