[gelöst] letsencrypt für Apache will nicht

Apache, Lighttpd, nginx, Cherokee
cos
Posts: 29
Joined: 2007-04-20 19:56

[gelöst] letsencrypt für Apache will nicht

Post by cos » 2017-04-30 18:16

Hallo zusammen,

ich habe Probleme ein Zertifikat von letsencrypt zu erhalten.
Fehlermeldung anfänglich:
...
Domain: www.meinedomain.de
Type: malformed
Detail: Failed to connect to xxx.xxx.xxx.xxx:443 for tls-sni-01
challenge: Server only speaks HTTP, not TLS
Fehlemeldung jetzt:
...
blank to select all options shown (Enter 'c' to cancel):1
Obtaining a new certificate
An unexpected error occurred:
There were too many requests of a given type :: Error creating new authz :: Too many invalid authorizations recently.
Please see the logfiles in /var/log/letsencrypt for more details.
/var/log/letsencrypt/letsencrypt.log
2017-04-30 15:48:58,445:DEBUG:acme.client:Storing nonce: e_3A1TKBAPcVGf_AzxN3TyhXOWNsRiIXqccUKvP57Gk
2017-04-30 15:48:58,447:DEBUG:certbot.log: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/local/lib/python2.7/site-packages/certbot/main.py", line 755, in main
return config.func(config, plugins)
File "/root/.local/share/letsencrypt/local/lib/python2.7/site-packages/certbot/main.py", line 597, in run
certname, lineage)
File "/root/.local/share/letsencrypt/local/lib/python2.7/site-packages/certbot/main.py", line 82, in _get_and_save_cert
lineage = le_client.obtain_and_enroll_certificate(domains, certname)
File "/root/.local/share/letsencrypt/local/lib/python2.7/site-packages/certbot/client.py", line 316, in obtain_and_enroll_certificate
certr, chain, key, _ = self.obtain_certificate(domains)
File "/root/.local/share/letsencrypt/local/lib/python2.7/site-packages/certbot/client.py", line 285, in obtain_certificate
self.config.allow_subset_of_names)
File "/root/.local/share/letsencrypt/local/lib/python2.7/site-packages/certbot/auth_handler.py", line 66, in get_authorizations
self.authzr[domain] = self.acme.request_domain_challenges(domain)
File "/root/.local/share/letsencrypt/local/lib/python2.7/site-packages/acme/client.py", line 212, in request_domain_challenges
typ=messages.IDENTIFIER_FQDN, value=domain), new_authzr_uri)
File "/root/.local/share/letsencrypt/local/lib/python2.7/site-packages/acme/client.py", line 191, in request_challenges
response = self.net.post(self.directory.new_authz, new_authz)
File "/root/.local/share/letsencrypt/local/lib/python2.7/site-packages/acme/client.py", line 670, in post
return self._post_once(*args, **kwargs)
File "/root/.local/share/letsencrypt/local/lib/python2.7/site-packages/acme/client.py", line 683, in _post_once
return self._check_response(response, content_type=content_type)
File "/root/.local/share/letsencrypt/local/lib/python2.7/site-packages/acme/client.py", line 570, in _check_response
raise messages.Error.from_json(jobj)
Error: urn:acme:error:rateLimited :: There were too many requests of a given type :: Error creating new authz :: Too many invalid authorizations recently.
Vorgehensweise habe ich wie hier -> https://strato.de/blog/lets-encrypt-auf ... rtifikate/ durchgeführt.

Der Port 443 ist von außen erreichbar.
Ich habe so ziemlich die Nase voll und weiß nicht mehr wo ich ansetzen kann. :rage:

Apache ist mit ssl und in dem virtuellen Host steht folgendes:
<IfModule mod_ssl.c>
<VirtualHost www.meinedomain.de:443>
DocumentRoot /var/www/html/meinedomain.de/
ServerName meinedomain.de
ServerAlias www.meinedomain.de

HostNameLookups off
LogLevel error
ServerAdmin webmaster@meinedomain.de
ErrorLog /var/log/apache2/meinedomain.de_error.log
CustomLog /var/log/apache2/meinedomain.de_access.log "combined"
DirectoryIndex index.php

<Directory "/var/www/html/meinedomain.de/">
Irrelevant
</Directory>
</VirtualHost>

</IfModule>
Hat jemand eine Idee wo es eine Anleitung IN DEUTSCH gibt, wie ich hier den Fehler untersuchen kann bzw. hier zum Erfolg komme?
Per google bekomme ich hunderte Anleitungen/ Foren wo die Fehler beschrieben sind. Aber, es löst nicht das Problem.
Zumeist findet man was zu dem geschlossenen Port 443. Der ist aber auf jeden Fall offen.

Viele Grüße
cos

PS: Aktuell verwende ich $ certbot --apache certonly
Rückgabe im /var/log/apache2/error.log
[Sun Apr 30 19:22:45.042839 2017] [ssl:warn] [pid 21043] AH01906: d69629247a6b189204a163e4514cf46a.a62194129f5ac343325657912f745662.acme.invalid:443:0 server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Sun Apr 30 19:22:45.043339 2017] [mpm_prefork:notice] [pid 21043] AH00163: Apache/2.4.10 (Debian) OpenSSL/1.0.1t configured -- resuming normal operations
Last edited by cos on 2017-05-07 20:02, edited 1 time in total.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11599
Joined: 2003-02-27 01:00
Location: Hamburg

Re: letsencrypt für Apache will nicht

Post by Joe User » 2017-04-30 20:21

1. Letsencrypt lässt derzeit nur 10 Zertifikatsanfragen pro Woche zu, dieses Limit hast Du überschritten und dies liest sich dann als "Error: urn:acme:error:rateLimited :: There were too many requests of a given type :: Error creating new authz :: Too many invalid authorizations recently.".

2. Du solltest die Zertifikatsanforderungen über Port 80 bestätigen lassen, denn aktuell hast Du kein gültiges Zertifikat mit dem Du SSL/TLS auf Port 443 betreiben kannst, dies liest sich dann als ".acme.invalid:443:0 server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)".
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

cos
Posts: 29
Joined: 2007-04-20 19:56

Re: letsencrypt für Apache will nicht

Post by cos » 2017-04-30 20:43

Hallo Joe User,

vielen Dank für deine Antwort. :relaxed:

Zu 1.) Ok. Dann warte ich mal eine Woche.
Zu 2.) Also sollte ich alles was mit SSL in Verbindung mit Apache und vhost deaktivieren? Wenn nicht, was ist mit "Du solltest die Zertifikatsanforderungen über Port 80 bestätigen lassen,..." gemeint?
Grundsätzlich gibt es aktuell zwei vhosts für die angegeben Domäne. Einmal für Port 80 und einmal für Port 443.

Viele Grüße
cos

User avatar
Joe User
Project Manager
Project Manager
Posts: 11599
Joined: 2003-02-27 01:00
Location: Hamburg

Re: letsencrypt für Apache will nicht

Post by Joe User » 2017-04-30 23:19

Du hast beim Aufruf von certbot den Parameter "--preferred-challanges" auf "tls-sni-01" gesetzt, setze den Wert stattdessen auf "http" und sorge dafür, dass in dem vHost für Port 80 das (virtuelle) Verzeichnis "${DOCUMENT_ROOT}/.well-known/" öffentlich lesbar ist.

https://certbot.eff.org/docs/using.html
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

cos
Posts: 29
Joined: 2007-04-20 19:56

Re: letsencrypt für Apache will nicht

Post by cos » 2017-05-07 20:02

Hallo Joe User,

vielen Dank für deine Antwort.

Anfänglich hatte ich veraltete Installationsanweisungen im Netz verwendet. Die führten zunächst nicht zum Erfolg.
Über https://certbot.eff.org/docs/using.html habe ich mir dann mal die unterschiedlichen Installationsmöglichkeiten angeschaut.
Folgendes führte zum Erfolg:
certbot certonly --email meine_mail@addy.de --rsa-key-size 4096 --webroot -w /var/www/html/meinedomain.de/ -d meinedomain.de
Die Eintragungen für ssl Zertifikate habe ich manuell in die meinedomain.de.conf unter /etc/apache2/sites-available vorgenommen.
Funktionsprüfung erfolgreich. :grin:

Ich danke noch einmal für den Denkanstoß.

Gruß
cos