أهلا،
بعض المعلومات الأساسية:
لذلك ، أنا أستخدم InterWorx وأواجه هذه المشكلة حيث لا يعمل ./certbot-auto --hsts
ولا يعمل ./certbot-auto certonly --standalone
بعد إيقاف httpd
مؤقتًا على CentOS 7 x64
. لاحظ أيضًا أنه ليس وكيلاً. هذا موجود على Xen VPS. لقد أكدت أيضًا أن telnet
للمنفذ 443 يعمل لهذا الخادم ، لذلك يجب ألا تكون هناك مشكلات في الاتصال ...
لاحظ IW dev / support أن HSTS قد يتسبب في فشل Certbot-auto على helmsgate.eidolonhost.com لأنه تم تحميل eidolonhost.com مسبقًا عبر قائمة التحميل المسبق لـ HSTS (والتي طلبت إزالتها الآن منذ ذلك الحين حتى أتمكن من إصلاح هذه المشكلة .. .) لكنني كنت آمل أن يكون هناك بعض الإجابات حيث يمكنني فرض شهادة LE ليتم تثبيتها.
السجلات ذات الصلة:
[root<strong i="15">@helmsgate</strong> letsencrypt]# cat letsencrypt.log
2016-07-08 00:32:50,790:DEBUG:certbot.main:Root logging level set at 30
2016-07-08 00:32:50,791:INFO:certbot.main:Saving debug log to /var/log/letsencrypt/letsencrypt.log
2016-07-08 00:32:50,791:DEBUG:certbot.main:certbot version: 0.8.1
2016-07-08 00:32:50,791:DEBUG:certbot.main:Arguments: ['--hsts']
2016-07-08 00:32:50,791:DEBUG:certbot.main:Discovered plugins: PluginsRegistry(PluginEntryPoint#apache,PluginEntryPoint#webroot,PluginEntryPoint#null,PluginEntryPoint#manual,PluginEntryPoint#standalone)
2016-07-08 00:32:50,801:DEBUG:certbot.plugins.selection:Requested authenticator None and installer None
2016-07-08 00:32:54,292:DEBUG:certbot.plugins.selection:Multiple candidate plugins: * apache
Description: Apache Web Server - Alpha
Interfaces: IAuthenticator, IInstaller, IPlugin
Entry point: apache = certbot_apache.configurator:ApacheConfigurator
Initialized: <certbot_apache.configurator.ApacheConfigurator object at 0x1fe7750>
Prep: True
* webroot
Description: Place files in webroot directory
Interfaces: IAuthenticator, IPlugin
Entry point: webroot = certbot.plugins.webroot:Authenticator
Initialized: <certbot.plugins.webroot.Authenticator object at 0x28da690>
Prep: True
* standalone
Description: Automatically use a temporary webserver
Interfaces: IAuthenticator, IPlugin
Entry point: standalone = certbot.plugins.standalone:Authenticator
Initialized: <certbot.plugins.standalone.Authenticator object at 0x28da390>
Prep: True
2016-07-08 00:33:15,830:DEBUG:certbot.plugins.selection:Selected authenticator <certbot.plugins.standalone.Authenticator object at 0x28da390> and installer None
2016-07-08 00:33:22,034:DEBUG:root:Sending GET request to https://acme-v01.api.letsencrypt.org/directory. args: (), kwargs: {}
2016-07-08 00:33:22,038:INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
2016-07-08 00:33:33,034:DEBUG:certbot.main:Exiting abnormally:
Traceback (most recent call last):
File "/root/.local/share/letsencrypt/bin/letsencrypt", line 11, in <module>
sys.exit(main())
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/certbot/main.py", line 744, in main
return config.func(config, plugins)
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/certbot/main.py", line 550, in obtain_cert
le_client = _init_le_client(config, auth, installer)
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/certbot/main.py", line 360, in _init_le_client
acc, acme = _determine_account(config)
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/certbot/main.py", line 345, in _determine_account
config, account_storage, tos_cb=_tos_cb)
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/certbot/client.py", line 118, in register
acme = acme_from_config_key(config, key)
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/certbot/client.py", line 42, in acme_from_config_key
return acme_client.Client(config.server, key=key, net=net)
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/acme/client.py", line 63, in __init__
self.net.get(directory).json())
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/acme/client.py", line 631, in get
self._send_request('GET', url, **kwargs), content_type=content_type)
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/acme/client.py", line 613, in _send_request
response = self.session.request(method, url, *args, **kwargs)
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/requests/sessions.py", line 468, in request
resp = self.send(prep, **send_kwargs)
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/requests/sessions.py", line 576, in send
r = adapter.send(request, **kwargs)
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/requests/adapters.py", line 437, in send
raise ConnectionError(e, request=request)
ConnectionError: HTTPSConnectionPool(host='acme-v01.api.letsencrypt.org', port=443): Max retries exceeded with url: /directory (Caused by NewConnectionError('<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x3303e10>: Failed to establish a new connection: [Errno -2] Name or service not known',))
تحرير: لاحظ أن helmsgate.eidolonhost.com يستخدم الآن شهادة SSL صالحة من Comodo. سيسمح لي على الأقل باستبدال شهادة SSL بـ Let's Encrypt في المستقبل.
Edit2: يبدو أنه لا يزال مستمرًا لمجال العميل ، في هذه الحالة ، dragonfox.net
مع الخطأ نفسه بالضبط. يستخدم العميل CloudFlare في هذه الحالة ، على الرغم من أنني لا أعرف ما إذا كان ذلك وثيق الصلة بعدم قدرة العميل على تثبيت شهادات SSL جديدة؟
لذا فإن المشكلة هنا ليست أن Let's Encrypt CA لا يمكنه الاتصال بالخادم الخاص بك ، إنها أن Certbot لا يمكنه الاتصال بـ Let's Encrypt. فشل العميل هو المكان الذي نحاول فيه أولاً إنشاء اتصال مع CA.
ماذا يحدث إذا قمت بتشغيل curl https://acme-v01.api.letsencrypt.org/directory
على النظام الذي تواجه فيه هذه المشكلة؟
bmw ،
شكرا لتوجيهي إلى الطريق إلى المشكلة.
تبين أن الخادم لم يكن يعرف من هو acme-v01.api.letsencrypt.org
.
[root<strong i="10">@helmsgate</strong> ~]# curl https://acme-v01.api.letsencrypt.org/directory
curl: (6) Could not resolve host: acme-v01.api.letsencrypt.org; Name or service not known
[root<strong i="11">@helmsgate</strong> ~]# nano /etc/resolv.conf
[root<strong i="12">@helmsgate</strong> ~]# curl https://acme-v01.api.letsencrypt.org/directory
{
"new-authz": "https://acme-v01.api.letsencrypt.org/acme/new-authz",
"new-cert": "https://acme-v01.api.letsencrypt.org/acme/new-cert",
"new-reg": "https://acme-v01.api.letsencrypt.org/acme/new-reg",
"revoke-cert": "https://acme-v01.api.letsencrypt.org/acme/revoke-cert"
}[root<strong i="13">@helmsgate</strong> ~]# ^C
[root<strong i="14">@helmsgate</strong> ~]#
تحرير: بالتأكيد ، بمجرد إضافة nameserver 8.8.8.8
إلى /etc/resolv.conf
، يتم التقاط إعدادات DNS الخاصة بـ Let's Encrypt على الفور ويمكن الآن إصدار شهادات SSL.
يسرني أني استطعت المساعدة! هل تم حل هذه المشكلة بعد ذلك؟
نعم! أنا الآن قادر على الحصول على البرنامج المساعد IW LE لإصدار شهادات لمجالات العملاء. لقد قمت بإعادة إنتاج هذا السلوك للعديد من مجالات العملاء وفي جميع الحالات ، تم إصلاحه.
سأمضي قدما وأغلق هذه المسألة. شكرا مرة أخرى لتوجيه الطريق. :)
التعليق الأكثر فائدة
bmw ،
شكرا لتوجيهي إلى الطريق إلى المشكلة.
تبين أن الخادم لم يكن يعرف من هو
acme-v01.api.letsencrypt.org
.تحرير: بالتأكيد ، بمجرد إضافة
nameserver 8.8.8.8
إلى/etc/resolv.conf
، يتم التقاط إعدادات DNS الخاصة بـ Let's Encrypt على الفور ويمكن الآن إصدار شهادات SSL.