Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. Flot mit vielen Linien / node.js Header-Size

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    UNSOLVED Flot mit vielen Linien / node.js Header-Size

    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      noox last edited by noox

      Ich habe in Flot ein Diagramm mit 12 Linien bzw. Datenpunkten. Wenn ich eine 13. hinzufüge, dann wird kein Diagramm erstellt. Ich erhalte eine leeres Fenster. Der Server liefert den HTTP Response "400 Bad Request".

      Ich bin da nicht der einzige: https://github.com/ioBroker/ioBroker.flot/issues/57

      Ich gehe sehr stark davon aus, dass das Problem entstanden ist, weil in node.js die Default-max-http-header-size von 80 KB auf 8 KB verringert wurde (aus Sicherheitsgründen). Und die Url bzw. die Querystring-Parameter sind teil dieses Headers. Der Fix wurde auch auf alte Node-Versionen backported.

      Nachzulesen z.b. auch hier: https://github.com/nodejs/node/issues/24692

      Mittlerweile ist es möglich, die Max-Header-Size für node.js zu setzen.

      z.B. mit Commandozeilen-Parameter. Dann kann man sich die Header-Size ausgeben lassen

      node --max-http-header-size=16384
      require("http").maxHeaderSize
      Ctrl-C, Ctrl-C
      

      Gibt es eine Möglichkeit zu konfigurieren, dass node.js für ioBroker mit dieser Kommandozeile gestartet wird?

      Alternativ gibt es auch die Möglichkeit die max-http-header-size per Environment-Variable "NODE_OPTIONS" zu setzen.

      Leider bin ich kein Linux-Experte und mit meinem Raspberry PI auch nicht weitergekommen. Ich habe es zwar mittlerweile geschafft, dass bei

      sudo -u iobroker node
      

      oder

      sudo node
      

      jeweils auch die 16 KB gelten.

      Dazu habe ich die Environment-Variable in /etc/environment angelegt und in /etc/sudoers Defaults env_keep += "NODE_OPTIONS" hinzugefügt, damit die nicht gelöscht werden (keine Ahnung ob das geschickt ist).

      Die Flot-Grafiken mit längerer Url funktionieren trotzdem noch nicht. Kann es sein, dass beim Aufruf von node für ioBroker /Flot die Environment-Variablen gar nicht vorhanden sind? Oder liege ich komplett am Holzweg?

      Wenn nicht, könnte man ein Setting einführen, mit dem man die max-http-header-size für node setzen kann?

      xmace created this issue in ioBroker/ioBroker.flot

      closed crash with more than 14 input lines #57

      elmarx created this issue in nodejs/node

      closed Make HTTP_MAX_HEADER_SIZE configurable #24692

      1 Reply Last reply Reply Quote 0
      • First post
        Last post

      Support us

      ioBroker
      Community Adapters
      Donate

      562
      Online

      31.8k
      Users

      80.0k
      Topics

      1.3m
      Posts

      flot adapter max-http-header-size node node.js node.js http header size query string
      1
      1
      223
      Loading More Posts
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      Community
      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
      The ioBroker Community 2014-2023
      logo