Project

General

Profile

Actions

Feature #2904

closed

Conditional control of protocol-http11

Added by gcleary over 5 years ago. Updated over 5 years ago.

Status:
Invalid
Priority:
Low
Category:
core
Target version:
ASK QUESTIONS IN Forums:

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

Actions #1

Updated by gstrauss over 5 years 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.

Actions

Also available in: Atom