letsencrypt Zertifikat wird nicht generiert

Begonnen von AndreM, 03 Januar 2019, 19:04:33

Vorheriges Thema - Nächstes Thema

AndreM

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:

  • auf all-inkl einen Subdomain <meineDomain> erstellt
  • auf all-inkl DDNS eingerichtet und dualStack für Ipv4 und ipv6 aktiviert
  • DynDNS auf der Fritzbox mit den all-inkl Anmeldedaten gefüllt
  • Abfrage auf all-inkl bestätigt mir die verbindung zur FritBox
  • Port:80 und Port:443 für meinen fhem-server freigegeben
  • auf dem Raspberry folgendes unternommen:
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.

Wernieman

#1
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.)
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Jackson

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
FHEM5.9@RPI3

Wernieman

Es ist immer schon so .. wahrscheinlich hattest Du "damals" port 80 offen und mittlerweile geschlossen
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

AndreM

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

dlehmann69

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/......
FHEM 6.0 Development auf Ubuntu 20.04 GIGABYTE GB-BACE mit Intel(R) Celeron(R) CPU N3150
CUL 3.4 FW 1.53 868 MHz für FS20, FHT
CUL 3.4 FW 1.66 868 MHz für HM
configDB; DbLog
FHT80, FS20, HMS, EM1000WZ, FHTTF, HM-LC-Sw1-DR; Lightify; HM-CC-RT-DN; HM-TC-IT-WM-W-EU; HM-SEC-SCO

Wernieman

Wie lässt Du letsencrypt laufen .. standalone oder über Webserver-Ahtorisiert?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

dlehmann69

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>

FHEM 6.0 Development auf Ubuntu 20.04 GIGABYTE GB-BACE mit Intel(R) Celeron(R) CPU N3150
CUL 3.4 FW 1.53 868 MHz für FS20, FHT
CUL 3.4 FW 1.66 868 MHz für HM
configDB; DbLog
FHT80, FS20, HMS, EM1000WZ, FHTTF, HM-LC-Sw1-DR; Lightify; HM-CC-RT-DN; HM-TC-IT-WM-W-EU; HM-SEC-SCO

Wernieman

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)

das fhemfhemfhem kommt durch dauernde redirekt ....
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

dlehmann69

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.
FHEM 6.0 Development auf Ubuntu 20.04 GIGABYTE GB-BACE mit Intel(R) Celeron(R) CPU N3150
CUL 3.4 FW 1.53 868 MHz für FS20, FHT
CUL 3.4 FW 1.66 868 MHz für HM
configDB; DbLog
FHT80, FS20, HMS, EM1000WZ, FHTTF, HM-LC-Sw1-DR; Lightify; HM-CC-RT-DN; HM-TC-IT-WM-W-EU; HM-SEC-SCO

AndreM

Ich muss leider nochmal fragen. Funktioniert das bei euch über DSlite ipv6?

Wernieman

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
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html