Срок действия сертификата Odoo xmlrpc истек

#ssl #ssl-certificate #odoo #xml-rpc #erp

Вопрос:

Я написал этот сценарий около 4 месяцев назад, все работало нормально. Но когда я вчера вернулся к этому коду, я получил следующее исключение:

 ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1108)
 

это происходит, когда я запускаю следующее:

 client = xmlrpc.client.ServerProxy('{}/xmlrpc/2/common'.format(odoo_server), allow_none=True)
 

в чем может быть проблема?

Комментарии:

1. Является ли сервер , к которому вы подключаетесь, сертификатом LetsEncrypt с цепочкой совместимости по умолчанию, включающей корневой центр сертификации DST X3, срок действия которого истек 30 сентября (см. Множество других Qs и миллионы блогов), и использует ли ваш python OpenSSL ниже версии 1.1.0? Если так, то в этом-то и проблема.

2. @dave_thompson_085 Я должен спросить старшего по такому случаю. На самом деле я не знаю. но когда я это сделаю, я скажу тебе. спасибо

Ответ №1:

Это решение может помочь вам в вашей ситуации.

 import ssl
xmlrpc.client.ServerProxy('{}/xmlrpc/2/common'.format(odoo_server), allow_none=True,verbose=False, use_datetime=True,context=ssl._create_unverified_context())
 

Комментарии:

1. Я попробовал, и это вызвало у меня еще одну ошибку. Кроме того, я не думаю, что это хорошее решение для моего случая, так как оно работало нормально

2. Итак, поговорив с моим старшим, он согласился с этим решением. Плюс ошибка, появившаяся после использования этого решения, также была исправлена (учетные данные были неверными). Поэтому я принял этот ответ. Спасибо тебе.

Ответ №2:

какое значение в odoo_server, попробуйте без http или https. попробуйте использовать свой ip-адрес или просто доменное имя

Комментарии:

1. без http/https или с ip: я получаю «неподдерживаемый протокол XML-RPC»