Full request line variable

Igor Sysoev is at rambler-co.ru
Sun Sep 20 12:23:34 MSD 2009


On Sat, Sep 19, 2009 at 07:17:15PM -0700, Wohbah wrote:

> 
> Igor,
> 
> Thank you, but I believe the answers were given too fast.
> 
> (0) We already considered default servers
> (1) $request_uri is not the actual, full, HTTP request line
> (2) nginx has NO way to match ^http after GET (that we found)
> (3) I suggest a new variable,
> 
> $full_request_line =
> FULL TRUE HTTP REQUEST LINE
>    - INCLUDING GET/PUT/POST/HEAD VERB
>    - INCLUDING SCHEME
>    - REGARDLESS OF SERVER BLOCK
> 
> 
> That would be fully general.
> 
> We require that raw IP address reach our working server.
> So http://1.2.3.4/ must work like http://goodhostname.com/
> and can't go to a "_" 444 block as you suggest.
> 
> We already thought of that and tried it a long time ago.
> 
> But proxy attempts use http://1.2.3.4 too, so they can only be
> defeated with regular expressions.  In nginx, this matching is
> nearly impossible, because of hidden assumptions in the
> software.
> 
> Please consider $full_request_line for future improvement,
> thank you.  Nginx is excellent and we appreciate your work.

Sorry, I mistaked: $request_uri is just URI part.
The required variable aleady exists: $request and it's usually used
in access_log.


-- 
Igor Sysoev
http://sysoev.ru/en/





More information about the nginx mailing list