Позвольте мне начать с того, что я знаю об изменениях в Python 2.7.9 для проверки SSL-сертификатов. Я также знаю несколько разных способов обойти это, чтобы отключить. Мой вопрос в том, почему я время от времени получаю эту ошибку? Я бы подумал, что если что-то не так, то это всегда будет постоянно давать сбой, но это не то, что я вижу. Я работал над каким-то кодом весь день, который случайно делает какие-то запросы, urllib
и просто из ниоткуда я начал получать следующую ошибку:
URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)>
Пока я писал этот вопрос, я спрятал и вытащил свои изменения (в git) и ошибка прекратилась. Почему такая непоследовательность?
ОБНОВЛЕНИЕ: Эта ошибка также возникает в Python 3, но происходит постоянно.
решение1
Возможно, я решил эту проблему. Оказывается, в моей конфигурации Apache отсутствовала настройка SSLCertificateChainFile
. Я точно знаю, что это исправляет ошибку Python 3, поскольку она возникала постоянно. Я предполагаю, что она больше не возникнет и в Python 2.7.9, но у меня нет способа воссоздать ошибку в Python 2, поэтому я не могу знать наверняка.