Project

General

Profile

Actions

Bug #2258

closed

Bad Request

Added by luivm over 10 years ago. Updated over 10 years ago.

Status:
Invalid
Priority:
Normal
Category:
-
Target version:
-
ASK QUESTIONS IN Forums:

Description

Hi,
i have a problem with Lighttpd.
With this host header lighttpd return "400 Bad Request"

http://laclinique_adv.lnx.connexia.com/

If i don't use this character : "_" everithings works fine.

Here the host configuration :

$HTTP["host"] =~ "laclinique_adv.lnx.connexia.com" {
server.document-root = "/var/www/laclinique_adv"
}


Related issues

Related to Bug #2281: 400 Bad Request when using Numeric TLDsDuplicate2010-12-22Actions
Actions #1

Updated by nitrox over 10 years ago

  • Status changed from New to Invalid

This is our bugtracker, not the support forum.

Actions #2

Updated by icy over 10 years ago

As an explanation: _ is not allowed in hostnames.

Actions #3

Updated by Olaf-van-der-Spek over 10 years ago

icy wrote:

As an explanation: _ is not allowed in hostnames.

Says who?

Actions #4

Updated by nitrox over 10 years ago

The RFC says so (you´ll find the correct one yourself). Don´t mix valid hostnames with allowed DNS names.

Actions #5

Updated by luivm over 10 years ago

  • % Done changed from 0 to 100

The RFC is 1123:
http://en.wikipedia.org/wiki/Hostname#Restrictions_on_valid_host_names

Here the part we are interested on :
The Internet standards (Request for Comments) for protocols mandate that component hostname labels may contain only the ASCII letters 'a' through 'z' (in a case-insensitive manner), the digits '0' through '9', and the hyphen ('-'). The original specification of hostnames in RFC 952, mandated that labels could not start with a digit or with a hyphen, and must not end with a hyphen. However, a subsequent specification (RFC 1123) permitted hostname labels to start with digits. No other symbols, punctuation characters, or white space are permitted.

Thank you to everyone.

Actions #6

Updated by Olaf-van-der-Spek over 10 years ago

nitrox wrote:

The RFC says so (you´ll find the correct one yourself). Don´t mix valid hostnames with allowed DNS names.

I can't find the requirement in RFC2616 to validate the host name.

Actions #7

Updated by icy over 10 years ago

RFC2616

14.23 Host
   Host = "Host" ":" host [ ":" port ] ;

3.2.1 General Syntax
   RFC 2396 [42] (which replaces RFCs
   1738 [4] and RFC 1808 [11]). This specification adopts the
   definitions of "URI-reference", "absoluteURI", "relativeURI", "port",
   "host","abs_path", "rel_path", and "authority" from that
   specification.

RFC2396

3.2.2. Server-based Naming Authority

      host          = hostname | IPv4address
      hostname      = *( domainlabel "." ) toplabel [ "." ]
      domainlabel   = alphanum | alphanum *( alphanum | "-" ) alphanum
      toplabel      = alpha | alpha *( alphanum | "-" ) alphanum

This has been discussed many times already.

Actions #8

Updated by Olaf-van-der-Spek over 10 years ago

icy wrote:

This has been discussed many times already.

AFAIK Lighttpd is a web server, not a protocol validator. ;)
Why does Lighttpd need to validate the host name against RFC2396?

Actions #9

Updated by icy over 10 years ago

Because RFC2616 which is the HTTP/1.1 RFC says so, like I quoted above.

Actions #10

Updated by luivm over 10 years ago

I agree with Olaf, lighttpd is a web server and is not a protocol validor.
Apache2 for example don't validate the rfc

Actions #11

Updated by icy over 10 years ago

Can you guys give one good reason why there would be a need to allow underscores in hostnames and why you can't just use dashes instead?

Actions #12

Updated by Olaf-van-der-Spek over 10 years ago

icy wrote:

Because RFC2616 which is the HTTP/1.1 RFC says so, like I quoted above.

Your quotes don't say that 400 should be returned if the request does not match the RFC.

Can you guys give one good reason why there would be a need to allow underscores in hostnames and why you can't just use dashes instead?

The underscore might've been used for ages, so changing it might not be an option due to existing links.

Actions

Also available in: Atom