Project

General

Profile

Feature #2904

Conditional control of protocol-http11

Added by gcleary 4 months ago. Updated 3 months ago.

Status:
Invalid
Priority:
Low
Assignee:
-
Category:
core
Target version:
Start date:
2018-08-26
Due date:
% Done:

0%

Estimated time:
Missing in 1.5.x:

Description

Hi,

For legacy reasons I'd like to allow only http1.0 access to some url paths, however, the system (out of my control) making the requests never sends a "host:" header. lighttpd seems to report the error "HTTP/1.1 but Host missing -> 400" before recognizing that the config says:

$HTTP["url"] =~ "^/(incl|axis-cgi)/" {
server.protocol-http11 = "disable"
}

Is there a solution that would allow a client request without Host, to make a HTTP/1.0 request to lighttpd which is otherwise accepting HTTP/1.1 requests? I've proven that if I run lighttpd unconditionally with protocol-http11 = disable mode, the request is honored correctly.

I'm using lighttpd/1.4.49 (ssl) on embedded linux 3.14.0 #1 SMP PREEMPT (armv7l).

Regards
Geoff

History

#1

Updated by gstrauss 3 months ago

  • Tracker changed from Bug to Feature
  • Status changed from New to Invalid
  • Priority changed from Normal to Low

The issue tracker is a place for issues with lighttpd. The forums (see the Forums tab) are a place to ask questions.

An HTTP/1.1 request without a Host header is invalid. See RFC 2616. lighttpd rejects certain types of invalid requests before config processing which might rely on parts of the request being valid.

Also available in: Atom