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