Navigation

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search

    Phantomjs nicht kompatibel TLS1.3

    Fragen
    3
    5
    144
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • me
      me last edited by

      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 Reply Last reply Reply Quote 0
      • davidschilling
        davidschilling ChurchToolsMitarbeiter last edited by

        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 Reply Last reply Reply Quote 0
        • me
          me last edited by

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

          1 Reply Last reply Reply Quote 0
          • me
            me last edited by

            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 Steinmann 1 Reply Last reply Reply Quote 0
            • Fritz Steinmann
              Fritz Steinmann @me last edited by

              @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 Reply Last reply Reply Quote 0
              • First post
                Last post