esp32_https_server icon indicating copy to clipboard operation
esp32_https_server copied to clipboard

Long requests dropped even when HTTPS_REQUEST_MAX_REQUEST_LENGTH is increased.

Open marciot opened this issue 4 years ago • 1 comments

Describe the bug

Certain request are silently discarded regardless of the value of HTTPS_REQUEST_MAX_REQUEST_LENGTH

How To Reproduce Steps to reproduce the behavior:

  1. Use "setDefaultNode" to install a default handler.
  2. Navigate to "http://192.168.1.9///System%20Volume%20Information/config_wireless_template.gcode?hmac=48d3af6da674eeb8604a495a9ebfea83104bf3b28345da93594647d79a480b8b"
  3. With the default value of HTTPS_REQUEST_MAX_REQUEST_LENGTH of 128, the request is rejected with a "431 Request Header Fields Too Large" error
  4. If I increase HTTPS_REQUEST_MAX_REQUEST_LENGTH to 256, the request fails silently and the default handler never executes. The browser reports a connection reset.
  5. I can shorten the URL character by character until it begins to be processed again.

Expected Behavior It should be possible to adjust HTTPS_REQUEST_MAX_REQUEST_LENGTH to allow for longer requests.

Actual Behavior

If I increase HTTPS_REQUEST_MAX_REQUEST_LENGTH, it seems to stop the ESP32 from issuing a 431 status code, but causes it to drop the request.

ESP32 Module ESP32-CAM

  • RAM/PSRAM: PSRAM enabled
  • Flash Size: 4MB
  • Other special properties:

Software (please complete the following information if applicable)

  • IDE and Version: Arduino 1.9.0-beta
  • OS: Windows
  • Client used to access the server: Chrome

Additional context

I can probably work around this problem, but I thought I would report it.

marciot avatar Nov 16 '20 17:11 marciot

So I found out that the normal way to do authentication is using a custom HTTP Authorization header. That works fine and shortens my URL considerably. So I no longer have a problem will long URLs, but will leave this open for now. Feel free to close if you don't feel it needs to be looked at.

marciot avatar Nov 18 '20 15:11 marciot