• Aktuell
    • Tags
    • Beliebt
    • Benutzer
    • Gruppen
    • Suche
    • Registrieren
    • Anmelden

    Phantomjs nicht kompatibel TLS1.3

    Fragen
    3
    5
    261
    Lade mehr Beiträge
    • Älteste zuerst
    • Neuste zuerst
    • Meiste Stimmen
    Antworten
    • In einem neuen Thema antworten
    Anmelden zum Antworten
    Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
    • meM
      me
      zuletzt editiert von

      Hallo zusammen,
      ich habe das Problem das wenn ich meinen Proxy auf TLSv1.3 schalte funktioniert die PDF Erstellung nicht mehr. Wenn ich auf TLSv1.2 runter drehe funktioniert es.

      Im log von Churchtools steht nur "Error in AbstractModule:call - Could not execute phantomjs, Error code: 1, Error message: Unable to load the address!"

      Ich habe dann in der Datei "system/src/Lib/Pdf/PhantomJsPdfHtmlGenerator.php" einen output für $cmd eingerichtet.

      # Command
      server # /var/www/html/bin/phantomjs system/assets/phantomjs/generatePDF.js 'https://domain.de/sites/default/files/tmp/HWPJ2mhKG9.html' 'sites/default/files/downloader/Printview_Fi5AnzTKd9.pdf' A4 'landscape'
      
      # Debug output
      ...
      2020-11-02T09:00:42 [DEBUG] Network - Resource request error: QNetworkReply::NetworkError(SslHandshakeFailedError) ( "SSL handshake failed" ) URL: "https://domain/sites/default/files/tmp/HWPJ2mhKG9.html"
      2020-11-02T09:00:42 [DEBUG] WebPage - updateLoadingProgress: 100
      Unable to load the address!
      ...
      

      Wenn ich das richtig sehe ist nur das Problem, dass er auf https://domain.de/sites/default/files/tmp geht.
      Während der Erstellung wir noch https://domain/system/assets_pdf.css/churchtools-font.css aufgerufen.

      Gibt es dafür schon eine Lösung?

      Gruß Marcel

      1 Antwort Letzte Antwort Antworten Zitieren 0
      • davidschillingD
        davidschilling ChurchToolsMitarbeiter
        zuletzt editiert von

        Wir testen zurzeit Chrome/Chromium als Alternative zu PhantomJS weil der schon länger nicht mehr weiterentwickelt wird.
        Damit das funktioniert muss in der churchtools.config chrome_active=true gesetzt werden und chrome oder chromium installiert werden.

        Wenn der Pfad für Chrome nicht automatisch gefunden wird kann dieser mit dem Parameter chrome_binary angegeben werden.

        1 Antwort Letzte Antwort Antworten Zitieren 0
        • meM
          me
          zuletzt editiert von

          Super vielen dank für die schnelle Antwort. Das werde ich gleich mal testen.

          1 Antwort Letzte Antwort Antworten Zitieren 0
          • meM
            me
            zuletzt editiert von

            Hat super funktioniert. Mir sind nur zwei Dinge aufgefallen.

            1. Ihr sucht standardmäßig nach /usr/bin/chromium-browser, auf meinen Debian basierenden Systemen lautet der Pfad /usr/bin/chromium . Das kann auch über die BinaryPath geändert werden.
            2. Ich musste ein Skript erstellen welches mir /usr/bin/chromium mit der Option "--no-sandbox" startet, da ich sonst immer einen Fehler bekommen habe. Könnte aber auch daran liegen weil ich Churchtools im Container betreibe.
            Additional info: Failed to move to new namespace: PID namespaces supported, Network namespace supported, but failed: errno = Operation not permitted
            

            Danke fürs weiter entwickeln.

            Fritz SteinmannF 1 Antwort Letzte Antwort Antworten Zitieren 0
            • Fritz SteinmannF
              Fritz Steinmann @me
              zuletzt editiert von

              @me

              Wie du richtig schreibst liegt es an der SSL/TLS Version. Für self-hoster gibt es eine einfache Abhilfe mit einem Skript. Dazu muss phantomjs z.b. zu phantomjs.bin umbenannt werden. Die phantomjs Datei beinhaltet dann:

              path/to/web/churchtools/bin# cat phantomjs
              #!/bin/bash
              /path/to/churchtools/bin/phantomjs.bin --ignore-ssl-errors=yes "$@"
              path/to/web/churchtools/bin#

              Dann funktioniert es auch mit dem "alten" phantomjs.

              Lieber Gruss
              Fritz

              1 Antwort Letzte Antwort Antworten Zitieren 0
              • Erster Beitrag
                Letzter Beitrag