Jump to content
Froxlor Forum
  • 0

Probleme bei der Nutzung von Let's Encrypt


Aragorn

Question

Posted

In meiner apache2.conf gibt es

 

# Include generic snippets of statements
Include conf.d/
 

Dorthin habe ich die acme.conf auch mal kopiert. im Froxlor-Verzeichnis gibt es den Ordner .well-known/acme-challenge auch, also irgendwas macht er ja.

Aber wenn ich für eine Domain "Benutze Let's Encrypt:" aktiviere, gibt es eben diese Fehlermeldung

 

Could not get Let's Encrypt certificate for xxxxx.de: Please check http://xxxxx.de/.wel...2jlsUTW-GceBdOc - token not available

 

im System-Logging von Froxlor.

 

Das Verzeichnis .well-known unter der Domain ist nicht vorhanden und in der zugehörigen vhost-ssl-conf steht:

 

  SSLCertificateFile /etc/apache2/apache2.pem
  SSLCertificateKeyFile /etc/apache2/apache2.key

 

Was ja so auch nicht richtig ist...

 

Wenn ich das ganze manuell über letsencrypt-auto mache und die Zertifikate beim Kunden für die Domain eintrage, funktioniert es auch einwandfrei.

Recommended Posts

Posted

Hast du vllt aktuell einen "SSL Redirect" bei der Domain? Ich meine der Request geht nur auf HTTP und wenn das weitergeleitet wird auf HTTPS geht das nicht mehr. Ansonsten scheint ja dann wenigstens deine acme.conf nun an der richtigen stell zu sein :)

Posted

Mal geschaut ob der alias aus der conf.d auch funktioniert? Bei korrekter Config hat das bei uns problemlos funktioniert. 

Posted

Wenn ich in die acme.config einen Syntax Fehler einbaue, meckert apache2ctl configtest jedenfalls, also gehe ich mal davon aus.

Es ist ja auch nicht das Froxlor-Verzeichnis in der Fehlermeldung, sondern das .well-known/acme-challenge der Domain, für die das Zertifikat erstellt werden soll.

 

Und unter /var/customers/webs/xxxxx ist dieses Verzeichnis auch nicht vorhanden.

Posted

So, ich hab mal debug eingeschaltet...
 

07.03.16 18:52:02 	information 	cronjob 	Let's Encrypt certificates have been updated
07.03.16 18:52:02 	error 	mexico 	Could not get Let's Encrypt certificate for xxxxxx.de: Please check http://xxxxxx.de/.well-known/acme-challenge/e6bMSQ4IZCZjAetBOzD7Ptv80_C0jxcW4AH2qGI1NVY - token not available
07.03.16 18:52:02 	information 	xxxxxx 	letsencrypt Token for xxxxxx.de saved at /var/www/froxlor/.well-known/acme-challenge/e6bMSQ4IZCZjAetBOzD7Ptv80_C0jxcW4AH2qGI1NVY and should be available at http://xxxxxx.de/.well-known/acme-challenge/e6bMSQ4IZCZjAetBOzD7Ptv80_C0jxcW4AH2qGI1NVY
07.03.16 18:52:02 	information 	xxxxxx 	letsencrypt Got challenge token for xxxxxx.de

 
Das ist aber nix in /var/www/froxlor/.well-known/acme-challenge :wacko:

Posted

Na er sagt doch "Got challenge token for xxxxxx.de"....das wird doch dann auch wieder gelöscht, das zeug bleibt da ja nicht liegen

Posted

Noch ein Hinweis, weil ich gerade selber drüber stolpere: Wenn man mod_itk verwendet und damit unterschiedliche Benutzer für den Webserver ist ein Zugriff auf den Froxlor-Ordner (jedenfalls bei mir, wofür mach ich das denn sonst?) von anderen Benutzern aus nicht möglich.

Da muss zwingend ein global erreichbarer Ordner verwendet werden, der für jeden Benutzer erreichbar ist.

 

Und wenn man automatische Redirects drin hat, die z.B. aus www.domain.de -> domain.de machen geht es auch nicht, das muss man abschalten vorher.

Posted
07.03.16 18:56:02 	notice 	cronjob 	Checking system's last guid
07.03.16 18:56:02 	information 	cronjob 	Let's Encrypt certificates have been updated
07.03.16 18:56:02 	error 	xxxxxx 	Could not get Let's Encrypt certificate for klein-xxxxxx.de: Please check http://klein-xxxxxx.de/.well-known/acme-challenge/9FD3YeAndu0vzXh1-Qb1kT4D5YkqDRQXBDyIHMYME7s - token not available
07.03.16 18:56:02 	information 	xxxxxx 	letsencrypt Token for klein-xxxxxx.de saved at /var/www/froxlor/.well-known/acme-challenge/9FD3YeAndu0vzXh1-Qb1kT4D5YkqDRQXBDyIHMYME7s and should be available at http://klein-xxxxxx.de/.well-known/acme-challenge/9FD3YeAndu0vzXh1-Qb1kT4D5YkqDRQXBDyIHMYME7s
07.03.16 18:56:02 	information 	xxxxxx 	letsencrypt Got challenge token for klein-xxxxxx.de
07.03.16 18:56:01 	information 	xxxxxx 	letsencrypt Sending signed request to /acme/new-authz
07.03.16 18:56:01 	notice 	cronjob 	Checking system's last guid
07.03.16 18:56:01 	information 	cronjob 	cron_tasks: Searching for tasks to do
07.03.16 18:56:01 	information 	xxxxxx 	letsencrypt Requesting challenge for klein-xxxxxx.de
07.03.16 18:56:01 	information 	xxxxxx 	letsencrypt Starting certificate generation process for domains
07.03.16 18:56:01 	information 	xxxxxx 	letsencrypt Account already registered. Continuing.
07.03.16 18:56:01 	information 	xxxxxx 	letsencrypt Using 'https://acme-v01.api.letsencrypt.org' to generate certificate
07.03.16 18:56:01 	debug 	xxxxxx 	letsencrypt generating new key / SAN for klein-xxxxxx.de
07.03.16 18:56:01 	debug 	xxxxxx 	Updating klein-xxxxxx.de
07.03.16 18:56:01 	information 	cronjob 	Updating Let's Encrypt certificates

Das ist mal ein kompletter Durchlauf. Mir fällt nix mehr ein...

Posted

Am besten testet ihr mal die aktuelle git-version von heute (8.3.2016), das Logging wurde erhöht und ggfls bekommt ihr damit raus, was schiefläuft: cron/LE: more verbose error message on token error; be more specific about what exactly went wrong when trying to assert the challenge/response payload (like e.g. http response code, error in DNS resolution etc.)

Posted
Could not get Let's Encrypt certificate for klein-xxxxxx.de: Please check http://klein-xxxxxx.de/.well-known/acme-challenge/wlPH_jaXeSZvzRjs3B3CNrp8O72zkiwV6vOm5gE_q1g - token not available; PHP error: {"type":2,"message":"file_get_contents(http:\/\/klein-xxxxxx.de\/.well-known\/acme-challenge\/wlPH_jaXeSZvzRjs3B3CNrp8O72zkiwV6vOm5gE_q1g): failed to open stream: HTTP request failed! HTTP\/1.1 403 Forbidden\r\n","file":"\/var\/www\/froxlor\/lib\/classes\/ssl\/class.lescript.php","line":147}

Wir kommen der Sache näher...

Posted

Also laut der Fehlermeldung bekommt der Request ein 403...legt doch einfach mal eine Test-Datei (test.txt mit "Hallo" oder so) in den /.well-known/acme-challenge/ Ordner und versucht diese aufzurufen, dann schauen wir erstmal das der Zugriff da erlaubt wird (zum Vergleich bitte nopasted mal Eure acme.conf das hier nix falsch läuft)

Posted
Alias "/.well-known/acme-challenge" "/var/www/froxlor/.well-known/acme-challenge"
<Directory "/var/www/froxlor/.well-known/acme-challenge">
    Order Deny,Allow
    Deny from All
</Directory>

Hab das mit der test.txt ausprobiert, gibt einen 403. Jetzt grübel ich aber....

Ich habe eine .htaccess im root von Froxlor, aber ich hatte es auch schon ohne die ausprobiert...

Posted

Ok, wenn ich die .htaccess wegnehme und das Deny fom All auskommentiere, bekomme ich die test.txt angezeigt.

 

Jetzt sieht die acme.conf aber auch anders aus:

 

Alias "/.well-known/acme-challenge" "/var/www/froxlor/.well-known/acme-challenge"
<Directory "/var/www/froxlor/.well-known/acme-challenge">
    Order allow,deny
    Allow from all
</Directory>

 

Ich hatte die per copy/paste von Froxlor übernommen :D

Posted

Dacht ich mir fast, das haben wir schon gefixed:

    Order Deny,Allow
    Deny from All

ist natürlich totaler unsinn, mach daraus mal ein:

    Order allow,deny
    Allow from all

und dann tut das

Posted

Ooooh. Darauf hätte man selbst kommen können. Peinlich, peinlich.

 

Unter Debian (bei Debian 7 zumindest) gehört die acme.conf übrigens in sites-enabled und nicht conf-enabled.

 

Danke d00p!

 

EDIT: Wenn man SSL erst neu konfiguriert (also einem Kunden Let's Encrypt zuweist, der vorher noch kein SSL Zertifikat hatte), wird das Zertifikat in der VHost unter /etc/apache2/apache2.key angegeben.

Posted

Ok, nun funktioniert es anscheinend.

 

Das bedeutet aber, dass man sein Froxlor nicht per .htaccess absichern darf...???

 

Bin ich der Einzige, der sowas macht?

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...