FHEM Forum

FHEM - Hardware => Server - Linux => Thema gestartet von: AndreM am 03 Januar 2019, 19:04:33

Titel: letsencrypt Zertifikat wird nicht generiert
Beitrag von: AndreM am 03 Januar 2019, 19:04:33
Hallo,
ich habe ein Thema was hier schon öfters angesprochen ist, für mich aber keine Lösung dabei ist....

Ich kann per letsencrypt kein ssl zertifikat erstellen. Es folgt immer diese Fehlermeldung:

The following errors were reported by the server:

   Domain: <meineDomain>
   Type:   connection
   Detail: Fetching
   http://<meineDomain>/.well-known/acme-challenge/f2zYtY7pfbN9dri_RjqeZ0aH2AhKYRGCV5GK750NO44:
   Connection refused

   To fix these errors, please make sure that your domain name was
   entered correctly and the DNS A/AAAA record(s) for that domain
   contain(s) the right IP address. Additionally, please check that
   your computer has a publicly routable IP address and that no
   firewalls are preventing the server from communicating with the
   client. If you're using the webroot plugin, you should also verify
   that you are serving files from the webroot path you provided.



Mein Vorgehen war folgendes:
ping <meineDomain>
4 packets transmitted, 4 received, 0% packet loss, time 3054ms
rtt min/avg/max/mdev = 0.429/0.532/0.637/0.076 ms
ist erreichbar

nslookup <meineDomain>
Server:         192.168.178.1
Address:        192.168.178.1#53

Non-authoritative answer:
Name:   <meineDomain>
Address: 95.xxx.xx.xx
gibt richtige IP-v4-Adresse aus

Zudem bin ich Unitymedia-Kunde mit DS-Lite. Könnte das schon das Problem sein?

Bin für jede weitere Hilfe und Information zum Vorgehen sehr dankbar.

Schönen Gruß
Andre

UPDATE:
Da ich ja keine Experte in Ipv4 und IPv6 bin, war mir was ich hier gefunden habe nicht bewusst. Das könnte aber die Lösung meines Problems sein könnte.

http://www.feste-ip.net/dslite-ipv6-portmapper/allgemeine-informationen/
ZitatBei der Anbindung über IPv6 gibt es 3 wichtige Änderungen.

    Es gibt kein Portforwarding zu internen Geräten mehr. Das bedeutet alle Geräte müssen direkt angesprochen werden. Mit IPv6 bekommen Sie ein sog. Subnetz um jedes Gerät in Ihrem Subnetz mit einer eigenen – aus dem Internet erreichbaren – IP auszustatten.

    Das Portforwarding auf interne IPv4 Geräte funktioniert über IPv6 nicht mehr.

    Geräte hinter Ihrem Anschluss sind von IPv4 Geräten nicht mehr erreichbar.
Titel: Antw:letsencrypt Zertifikat wird nicht generiert
Beitrag von: Wernieman am 07 Januar 2019, 11:20:25
Zudem bin ich Unitymedia-Kunde mit DS-Lite. Könnte das schon das Problem sein?

Ja ... hast Du mal probiert, extern mit port80 auf Dein Server zu kommen?

Und dann noch ein paar Fragen:
Welches Betriebsystem/Certbot (Letsencrypt) Version?
Welcher Modus (StandAlone, Webroot, Apache etc.)
Titel: Antw:letsencrypt Zertifikat wird nicht generiert
Beitrag von: Jackson am 10 Januar 2019, 09:03:50
Hi,

tatsächlich könnte das Problem der Port 80 sein. Ich musste vor Tagen mein Zertifikat erneuern. In meiner Fritte war nur Port 443 freigeben. Doch das Aktualisieren ging mit dem Port 80. Keine Ahnung warum das jetzt so ist.

Gruss
Titel: Antw:letsencrypt Zertifikat wird nicht generiert
Beitrag von: Wernieman am 10 Januar 2019, 11:06:07
Es ist immer schon so .. wahrscheinlich hattest Du "damals" port 80 offen und mittlerweile geschlossen
Titel: Antw:letsencrypt Zertifikat wird nicht generiert
Beitrag von: AndreM am 24 Januar 2019, 21:15:38
Ich bin immer noch nicht ganz weiter gekommen. Port 80 ist in der Fritz.Box für den fhem server freigegeben.

Habt ihr denn einen Kabelanbieter inkl. IPv6 und habt zugriff auf euer Heimnetz? Oder ist der zugriff auf FHEM mit Ipv6 definitiv nicht möglich?

Gruß
Andre
Titel: Antw:letsencrypt Zertifikat wird nicht generiert
Beitrag von: dlehmann69 am 25 Januar 2019, 10:29:24
Hallo,
ich habe das gleiche Problem. Mein Port 80 ist im Router weitergeleitet und von außen auch erreichbar. FHEM leite ich über Apache Proxy Fowarding auf eine Subdomain unter https weiter.

Ich denke, dass hat vielleicht mit der Umstellung der Validierungsmethode zu tun. Bisher wurde TLS-SNI-01 genutzt, was über Port 443 lief. Jetzt wird HTTP-01 genutzt, was über Port 80 läuft.
Kann es an dem Proxy liegen, der ja immer gleich auf 443 umleitet? Eine weitere Subdomain für meine Cloud lässt sich hingegen aktualisieren.
Was ich in der Fehlermeldung sehe ist, dass der Pfad nicht passt, den Letsencrypt erreichen will. Der Pfad in der Fehlermeldung ist folgender und sollte eigentlich nur einmal fhem enthalten.

https://fhem.meinedomain.de/fhemfhemfhemfhemfhemfhemfhemfhemfhemfhem.well-known/acme-challenge/......
Titel: Antw:letsencrypt Zertifikat wird nicht generiert
Beitrag von: Wernieman am 25 Januar 2019, 11:41:56
Wie lässt Du letsencrypt laufen .. standalone oder über Webserver-Ahtorisiert?
Titel: Antw:letsencrypt Zertifikat wird nicht generiert
Beitrag von: dlehmann69 am 25 Januar 2019, 12:47:09
bin mir nicht sicher, ob ich die Frage richtig verstanden habe. Der Aufruf von letsencrypt erfolgt wie folgt
certbot renew --dry-run

Meine vhost Konfiguration sieht wie folgt aus. Hier habe ich schon versucht, für letsencrypt eine Weiterleitung einzubauen. Klappt aber nicht. Muss aber auch gestehen, dass ich dies von Google habe.

<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName fhem.meinedomain.de
ServerAlias fhem.meinedomain.de
ProxyRequests Off
ProxyVia Off
ProxyPreserveHost On
<Location /fhem>
        ProxyPass http://localhost:8083/fhem
        ProxyPassReverse http://localhost:8083/fhem
    </Location>
ProxyPass /.well-known !
Alias /.well-known "/var/www/html/.well-known"
<Directory "html/.well-known">
               order allow,deny
               allow from all
               AllowOverride All
               AddDefaultCharset Off
            </Directory>
    <Directory />
        RedirectPermanent / /fhem
    </Directory>
<IfModule mod_headers.c>
      Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains; preload"
    </IfModule>
Include /etc/letsencrypt/options-ssl-apache.conf
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/fhem.meinedomain.de/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/fhem.meinedomain.de/privkey.pem
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
</IfModule>

Titel: Antw:letsencrypt Zertifikat wird nicht generiert
Beitrag von: Wernieman am 25 Januar 2019, 13:15:29
Zitat<Directory "html/.well-known">
               order allow,deny
               allow from all
               AllowOverride All
               AddDefaultCharset Off
            </Directory>
lass mal das html weg ... kenne mich aber jetzt nicht soooo mit apache mehr aus ... eher mit nginx
(Siehe auch https://forum.fhem.de/index.php/topic,96461.0.html (https://forum.fhem.de/index.php/topic,96461.0.html))

das fhemfhemfhem kommt durch dauernde redirekt ....
Titel: Antw:letsencrypt Zertifikat wird nicht generiert
Beitrag von: dlehmann69 am 25 Januar 2019, 17:20:59
Ich habe meinen Fehler gefunden. Der dry-run läuft nun wieder ohne Fehler durch.

Es lag an einer zusätzlichen Proxy Konfiguration in der vhost für den Port 80. War die Gleiche wie für Port 443. Hatte bisher keine Probleme gemacht, da immer gleich das Forwarding zu Port 443 / https gegriffen hat. Letsencrypt hat sich aber an Weiterleitung verschluckt, da diese bis zum timeout immer wieder erfolgte und damit der Pfad nicht mehr gepasst hat.
Titel: Antw:letsencrypt Zertifikat wird nicht generiert
Beitrag von: AndreM am 26 Januar 2019, 09:24:24
Ich muss leider nochmal fragen. Funktioniert das bei euch über DSlite ipv6?
Titel: Antw:letsencrypt Zertifikat wird nicht generiert
Beitrag von: Wernieman am 26 Januar 2019, 12:07:03
Habe es mit V6 noch nicht probiert, aber genug gelesen.

Du brauchst:
- ein Client der IPv6 kann
(ich weiß nicht, ab welcher Version der Client letsencrypt/certbot es kann. In neueren Versionen kann er es
- Eine Domain, die "nur" auf IPv6, also AAAA Record, zeigt (dyndns-Dienst oder .....)
- Einen offenen Port 80

Prinzipiell kann der Dienst letsencrypt es, aus der Doku:
Zitat
Full Support for IPv6

Jul 26, 2016 • Josh Aas, ISRG Executive Director
Siehe: https://letsencrypt.org/2016/07/26/full-ipv6-support.html (https://letsencrypt.org/2016/07/26/full-ipv6-support.html)