Testserver mit Lets Encrypt und PHP7 online

  • Ich habe Zahnschmerzen. Aus dem Grunde habe ich mir den Testserver vorgenommen in der Nacht. Es läuft PHP7 on Demand und Lets Encrypt funktioniert auch.
    https://beispiel.rocks/free-ssl.org/

    Könnt ihr ja mal schauen. Funktioniert alles soweit. PHP 7.0.2 Stable ist zwar auch drauf, allerdings kann das Joomla damit noch nicht. Andere Scripte teste ich auch mal mit PHP7, sollte funktionieren.

    Der Testserver generiert on demand über das Kundensystem ein Letsencrypt Zertifikat und erneuert es automatisch ( sollte funktionieren! ).

    Wer eine Subdomain zum testen seiner Scripts haben will, vielleicht für PHP 7 oder Letsencrypt -> PN

    Bitte bedenkt das es ein Testserver ist :D

    Aber es funktioniert alles. Das ist schonmal fein.

    Ich bitte mal auch um Rückmeldung ob ihr Browserfehler erhaltet vom Zertifikat. Bei mir funktioniert alles wie gewünscht, ausser das Google Fonts nicht eingebunden werden. Das muss ich aber am Template ändern und sollte im laufe des Tages funktionieren. Ich muss mich gleich erstmal legen und mich selber bedauern.

    Es geht also mit riesen Schritten auf kostenlose SSL Zertifikate und PHP7 on demand zu. Auch muss ich ein paar Sachen noch tunen, da ist noch einiges an Potential.

    wenn etwas möglich erscheint mach ich das, wenn das nicht klappt gehts ans unmögliche und ansonsten das undenkbare.

    - nun stolz rauchfrei - Ich denke also Bing ich!

    Support 24h Bereitschaft 0173 6107465 - NUR Für Kunden von SEO NW!

  • so ist jetzt aktuell in der version da. funktioniert. evtl kommt ne fehlermeldung, da piwik nicht über ssl läuft. bin dabei die seite umzuziehen, da gab es allerdings probleme. Backups mache ich beim Testserver erstmal nicht. :D

    wenn etwas möglich erscheint mach ich das, wenn das nicht klappt gehts ans unmögliche und ansonsten das undenkbare.

    - nun stolz rauchfrei - Ich denke also Bing ich!

    Support 24h Bereitschaft 0173 6107465 - NUR Für Kunden von SEO NW!

  • So, also ich habe gleich mehrere Probleme gefunden bzw. sehe da noch keinen Weg, das zu nutzen bzw. werfen sich mir immer mehr Fragen auf.

    1. Hast Du mal Deine Anleitung von free-ssl.org getestet? Ich weiß, das steht auch in der Doku so, aber eine Datei namens letsencrypt gibt es gar nicht.

    Habe das dann einfach mal mit letsencrypt-auto --webroot versucht, denn ich wollte webroot und nicht Apache oder sonst was. Fazit war, dass mir meine ganzen vhosts zerschossen wurden, weil der eben doch "apache" ausgeführt hat. Also vHosts wieder neu machen. Zertifikate manuell einbinden. Neu starten, läuft... soweit so gut...

    Aber, ich brauche Zertifikate für 5 Domänen. www, ohne www und die ausgelagerten Subs img0 bis img2. Problem nun, für die Subs img0 bis img2 bekomme ich keine, denn dafür braucht man einen DNS A Eintrag. Haben die aber nicht, nur CNAME. Das Script folgt also der IP vom CNAME und sagt dann... nee, falsche Domain bzw. IP. Gut, könnte man nun meinen, müsste ich auf dem anderen Server machen, auf den der CNAME zeigt. Dort gibt es für die Subs aber auch kein DNS A, denn der CNAME zeigt ja auf eine andere Domain, die auf dem anderen Server liegt.

    Wie ich das auch drehe und wende, ohne meine Subs nun alle als eigenen vHost einzurichten und entsprechend einen DNS A zu setzen, bekomme ich dafür keine Zertifikate.

    Nachtrag: Der schwenkt selbst um auf die acme-challenge, was aber natürlich auch nicht geht, denn diese Subs sind lokal auf dem System ja nicht vorhanden und auf dem externen System kann er ja keine Dateien erzeugen.

    Code
    Failed authorization procedure. img2.domain.de (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from https://beispiel.rocks/beispiel.rocks/img2.domain.de/.well-known/acme-challenge/JbU-vMV80ge2uwjxxxxxxxUFF8_XCYGgmT14dxN2WIA [ip]: 403
    
    
      Domain: img2.domain.de
       Type:   urn:acme:error:unauthorized
       Detail: Invalid response from https://beispiel.rocks/beispiel.rocks/img2.domain.de/.well-known/acme-challenge/JbU-
       vMV80ge2uwjxxxxxxxUFF8_XCYGgmT14dxN2WIA [ip]: 403

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • ui, free-ssl.org ist standard krams - ich habe das anders gemacht. Muss ich ja auch.
    Du hast sicherlich mit Git geklont, oder? Das fällt später weg. Je nachdem wo du die Beta runtergeladen hast, musst du auch wieder rein. zB /root
    Dort kannst du dann die Zertifikate erstellen über den Aufruf.

    Automatisch.. Hmm, da habe ich leider bei meinem Testserver auch noch Probleme. Das geht über ein Script. Was schon funktioniert ist das automatische Verlängern ( kannste auch per Cron machen! ) und das automatische VHost erstellt werden, welche zu meiner "Umgebung" passen.

    Das Problem ist immer noch die Umgebung, wo das laufen soll. Da haben noch so einige ihre Probleme. Auf dem testserver ist das intern auch noch Beta ( Vom System ), es funktioniert zwar, allerdings würde ich nicht auf eine DEV Version schwenken auf einem Kundenserver.

    ./letsencrypt-auto certonly --standalone -d domain.de -d *** Link veraltet *** ist vielleicht dein Freund. Beachte das bei https://beispiel.rocks/free-ssl.org
    es geht dann aneinandergereiht sicherlich auch für weitere Domains. Dann per VHost einbinden ( manuell ) und es sollte eigentlich laufen. Hab das so allerdings nicht getestet.

    Wie gesagt es funktioniert und wird auch vom Browser akzeptiert. Renew wird automatisch angestossen bevor es abläuft.
    Später kannst du wenn es Stable ist mit "apt-get install letsencrypt" normal installieren. Ich würde dir raten... auf Stable zu warten.
    Ich warte ja eigentlich auch nicht. Ich muss das aber wissen um SSL Zertifikate zuverlässig und kostenlos und ohne viel Aufwand auszuliefern. Bei dir würde ich versuchen halt das Zertifikat nur zu holen, Cron einrichten und dann in die VHost einzubinden.

    Sollte eigtl funktionieren.

    Kenne dein System nicht, evtl musste auch Symlinks setzen. War doch händisch oder? Dann kann ich nur sagen, Zertifikat erstellen, evtl Sym Links setzen falls nötig und dann in Vhost setzen und dann Cron einrichten.

    Das sollte schon funktionieren.

    wenn etwas möglich erscheint mach ich das, wenn das nicht klappt gehts ans unmögliche und ansonsten das undenkbare.

    - nun stolz rauchfrei - Ich denke also Bing ich!

    Support 24h Bereitschaft 0173 6107465 - NUR Für Kunden von SEO NW!

  • "./letsencrypt-auto certonly --standalone -d domain.de -d *** Link veraltet *** ist vielleicht dein Freund."

    Nee, ist mein Feind. Will kein Standalone, also extra Webserver für, sondern den der da ist, also --webroot. Apache wollte ich nicht, weil der eben gleich die Config mit ändert und das passte meinem Server so gar nicht. Die drei Zeilen Code im vHost kann ich schon selbst eintragen ;)

    Aber gut, die Zertifikate sind da, die gehen auch für www und nicht www. Teste die auf einem Live-System. Aber ich habe eben das Problem mit den Subs, für die bekomme ich keine erstellt. Gut, auf dem System sind die real ja nicht vorhanden, auf dem externen System aber auch nicht!

    Wie soll das denn gehen, wenn man Subs nutzt, die per CNAME auf einen CDN zeigen?

    Also

    *** Link veraltet *** -> A -> lokale IP (geht)
    *** Link veraltet *** -> A -> lokale IP (geht)
    img0.meine-domain.de -> CNAME -> yxz.cdn.com (geht nicht)

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • Oh ich glaube das geht so gar nicht. Dein CDN Anbieter könnte das unterstützen. Es gibt schon einige die machen das. Das geht dann über den Zonenalias ( CNAME ) und einen A Record. Ich weiss allerdings nicht wie das bei deinem CDN Anbieter ist.
    Auch habe ich mit CDN´s gar keine Erfahrungen, da ich das noch nicht genutzt habe. Sorry Syno, weiss ich nicht...

    Was ich allerdings vermute ist, das es bei dem CDN unterstützt werden könnte/sollte. Der CName geht ja auf den CDN und da muss dann das weiter gehen.
    So mal gedacht...

    wenn etwas möglich erscheint mach ich das, wenn das nicht klappt gehts ans unmögliche und ansonsten das undenkbare.

    - nun stolz rauchfrei - Ich denke also Bing ich!

    Support 24h Bereitschaft 0173 6107465 - NUR Für Kunden von SEO NW!

  • Also Alex, das ist ja kein echter CDN-Anbieter, das sind ja meine eigenen Server ;) yxz.cdn.com war nur fiktiv um zu zeigen, dass es eine externe Maschine mit anderer Domain ist.

    Ich habe mich ja auch schon schlau gemacht bei echten CDNs, die das machen und ja, das geht so in etwa wie Du geschrieben hast. Nur werde ich da nicht schlau drauf. Beantrage ich dann auf dem eigentlich HOST ein Zertifikat für img0 oder auf dem CDN-Server? Und wenn auf letzterem, dann für was? Für img0 oder für yxz.cdn.com ? Und dann stellt sich die andere Frage. Was ist mit den anderen Domänen, die auch auf den "CDN" zugreifen?

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • Schwierig. Also aus dem Bauch raus würde ich sagen yxz.cdn.com
    Da ist ja dann auch der A Record.

    Leider habe ich da auch nicht die Erfahrung. Hab kein CDN und nutze auch keines.

    Ich würde aber auf den CDN dann tippen und nicht img0
    Ist ja auch irgendwie logisch. Allerdings irre ich mich nicht zum ersten mal.
    Also halt ich lieber die Klappe... :)

    7

    wenn etwas möglich erscheint mach ich das, wenn das nicht klappt gehts ans unmögliche und ansonsten das undenkbare.

    - nun stolz rauchfrei - Ich denke also Bing ich!

    Support 24h Bereitschaft 0173 6107465 - NUR Für Kunden von SEO NW!

  • Ja, logisch wäre für yxz.cdn.com , das sehe ich eigentlich auch so.... Aber, was auch logisch wäre dann ....

    wenn ich dann img0.domain1.de aufrufe und ein Zertifikat von yxz.cdn.com kommt, dann müsste doch eigentlich eine Warnung kommen, denn Webseite und "ausgestellt für" passen ja nicht zusammen.

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • So, drei gänzlich unterschiedliche Domänen (vHosts) auf der gleichen IP funktionieren schon mal :) Andere Domänen ohne SSL auf der gleichen IP sind nun aber auch per https erreichbar, was sie vorher nicht waren. Diesmal aber mit dem falschen Zertifikat.

    Bleiben also primär diese doofen Subs.

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • Was ich aber momentan recht häufig bekomme ist:

    Updating letsencrypt and virtual environment dependencies....Retrying (Retry(total=4, connect=None, read=None, redirect=None)) after connection broken by 'NewConnectionError('<pip._vendor.requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0xa2a546c>: Failed to establish a new connection: [Errno -2] Name or service not known',)': /simple/pip/

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • [USER="49"]Alex07[/USER] , du könntest mir mal einen Gefallen tun.

    Wie ist das Zertifikat denn im vHost eingebunden, ich meine nutzt der "cert" und "chain" oder "fullchain"? Und welcher Apache läuft da?

    Ich habe hier nämlich ein neues Problem....

    Apache 2.2.22 nutzt "cert" und "chain" und dort geht es auch.
    Apache 2.4.10 nutzt aber "fullchain" und das Problem dabei ist, dass der Browser dem Zertifikat nicht vertraut.

    "Dem Zertifikat wird nicht vertraut, weil das Aussteller-Zertifikat unbekannt ist. Der Server sendet eventuell nicht die richtigen Zwischen-Zertifikate. Ein zusätzliches Stammzertifikat kann nicht importiert werden."

    Grund: das "chain" wird von IdenTrust signiert, den root kennt der Browser
    das "fullchain" wird aber von ISRG signiert und den root kennt der Browser nicht.

    Nun könnte man denken, gut, denn nutze ich eben "cert" und "chain" aber nee, dann startet der 2.4.10 erst gar nicht, der will das "fullchain" haben.

    Daher die Frage nach Deinen Daten, denn Ubuntu ist ja nicht so anders, vielleicht gibt es ja doch einen weg mit "cert" und "chain" ;)

    Apache 2.2.22 ist ein Debian 7 System, der Apache 2.4.10 ein Debian 8. Witzigerweise unterstützt letsencrypt aktuell nur Debian 8 und genau dort läuft es nicht ... hm...

    Edit.... Schaut nicht gut aus.... Habe mir das Zertifikat nun mal runtergeladen und angesehen. Aussteller ist:

    CN = happy hacker fake CA

    Bitte? Soll das ein Scherz sein? "happy hacker"? Das Ding wurde vor 4 Stunden über letsencrypt erzeugt.

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • moin,
    klar ich schau mal.
    Guck mal hier. Die Kiffer Suite ;) ist noch nicht optimal. Da hab ich noch nix optimiert. Was wichtig ist, ist SSLUseStapling
    So ist das bei mir eingebunden. Ich hatte das nur auf der schnelle an dem einen Tag gemacht. Und es funktionierte fast auf Anhieb. Allerdings werden die VHosts automatisch generiert. Auch sind da automatische ( braucht dich jetzt nicht zu interessieren, ist quasi unwichtig für dein System ) Sym Links gesetzt.


    Server version: Apache/2.4.7 (Ubuntu)

    wenn etwas möglich erscheint mach ich das, wenn das nicht klappt gehts ans unmögliche und ansonsten das undenkbare.

    - nun stolz rauchfrei - Ich denke also Bing ich!

    Support 24h Bereitschaft 0173 6107465 - NUR Für Kunden von SEO NW!

  • Happy Hacker? Ist dein Server vielleicht kompromitiert? Was auch sein könnte wäre das Letsencrypt ein Problemchen hat. Das wäre natürlich der Super Gau!

    Halt uns mal auf den laufenden...

    Puh... Guck mal hier:

    *** Link veraltet ***

  • Musste neu erzeugen. Und ich glaube da liegt dein Problem. Irgendwie biste aufn falschen Server gelandet. Ich glaube meine Anleitung stimmt dann auch nicht mehr.

    wenn etwas möglich erscheint mach ich das, wenn das nicht klappt gehts ans unmögliche und ansonsten das undenkbare.

    - nun stolz rauchfrei - Ich denke also Bing ich!

    Support 24h Bereitschaft 0173 6107465 - NUR Für Kunden von SEO NW!

  • Ok, Deine Config schaut ganz anders aus, typisch Tool eben.

    Bei mir steht nur:
    SSLEngine on
    SSLCertificateKeyFile /etc/letsencrypt/live/http://img0.domain.de/privkey.pem
    SSLCertificateFile /etc/letsencrypt/live/http://img0.domain.de/cert.pem
    SSLCertificateChainFile /etc/letsencrypt/live/http://img0.domain.de/chain.pem

    Ach ja, die Sub auf dem externen Server läuft jetzt. Muss da aber noch einiges ändern oder erfahren wie das gehen soll, denn auf den vHost (ist nur einer) greifen ca. 50 andere Subs zu. Kann da aber ja nicht für jede Sub ein Zertifikat hinterlegen. Also entweder eines mit allen Subs, was blöd ist, denn das kann sich schon mal ändern oder für jede Sub einen eigenen vHosts - was wesentlich aufwendiger ist zu pflegen.

    Du hast Apache 2.4.7 Gut, die Änderung bezüglich "fullchain" kam erst mit 2.4.8 :) Habe es aber auch mit "cert" und "chain" zum laufen bekommen, auch wenn nun ständig eine deprecated-Warnung kommt :(

    "Happy Hacker"
    Du, da bin ich auch saumäßig erschrocken. War schon kurz davor das sofort wieder runter zu schmeißen. Keine Ahnung was da los war, habe die Zertifikate gelöscht und neue erstellen lassen, mit genau dem gleichen Befehl, dann waren sie plötzlich normal.

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • wird über Sym Link gemacht, so wie ich das verstehe.
    SSLCertificateChainFile /var/www/clients/client1/webx/ssl/free-ssl.org.bundle DEr verweist auf was ganz anderes...

    wenn etwas möglich erscheint mach ich das, wenn das nicht klappt gehts ans unmögliche und ansonsten das undenkbare.

    - nun stolz rauchfrei - Ich denke also Bing ich!

    Support 24h Bereitschaft 0173 6107465 - NUR Für Kunden von SEO NW!