Jump to content
Froxlor Forum
  • 0
Aragorn

Probleme bei der Nutzung von Let's Encrypt

Question

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.

Share this post


Link to post
Share on other sites

Recommended Posts

  • 0

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 :)

Share this post


Link to post
Share on other sites
  • 0

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

Share this post


Link to post
Share on other sites
  • 0

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.

Share this post


Link to post
Share on other sites
  • 0

Muss es ja auch nicht, dafür hast du doch den Alias in der acme.conf....

Share this post


Link to post
Share on other sites
  • 0

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:

Share this post


Link to post
Share on other sites
  • 0

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

Share this post


Link to post
Share on other sites
  • 0
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...

Share this post


Link to post
Share on other sites
  • 0

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.)

Share this post


Link to post
Share on other sites
  • 0
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...

Share this post


Link to post
Share on other sites
  • 0

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)

Share this post


Link to post
Share on other sites
  • 0
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...

Share this post


Link to post
Share on other sites
  • 0

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

Share this post


Link to post
Share on other sites
  • 0

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

Share this post


Link to post
Share on other sites
  • 0

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.

Share this post


Link to post
Share on other sites
  • 0

Ok, nun funktioniert es anscheinend.

 

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

 

Bin ich der Einzige, der sowas macht?

Share this post


Link to post
Share on other sites
  • 0

Ja das bedeutet das, wie soll LE sonst (via des Aliases) die datei aufrufen? Du kannst ja in den Einstellungen aber auch ein anderes Verzeichnis angeben, z.B sowas wie /var/www/letsencrypt-tokens/ oder so

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now





×
×
  • Create New...