[Twisted-web] web2: reverse dns lookup in twisted reactor thread
James Y Knight
foom at fuhm.net
Wed Jul 12 00:17:35 CDT 2006
On Jul 11, 2006, at 6:53 PM, glyph at divmod.com wrote:
> However, getting the right hostname is a confusing and error-prone
> activity. As a data point, this call takes about 30 seconds on my
> current nameserver, and ends up getting the wrong information
> anyway (it should be using my NAT-external address, but instead it
> ends up using my internal address). It's also made in the server
> code unconditionally: the host address information is used only in
> the path where there is no Host: header but we block anyway. If
> there is a transient DNS failure, we cache the numeric host name
> for a process lifetime (e.g. forever) anyway.
>
> Given that I think it would be best to at least be consistent, and
> always use the numeric in the case where we don't know.
The webserver mainly needs to know its name for generating URLs for
redirects etc when the client doesn't send a host header. In apache,
the problem is solved by using the machine's "hostname" for the
default server name, unless otherwise configured with the
"ServerName" config parameter. if you want it to use a different
default "self"-name per IP address, you need to use vhost sections to
configure that. Upon reflection, this seems like a better thing to
do, and the current hack should be dispensed with. (Trusting
"hostname" to give you a valid hostname has its own set of issues but
hey, that's why its overrideable.) And of course none of this is
really important if the client sends a Host header, which nearly all
do anyhow.
See <http://httpd.apache.org/docs/2.0/mod/core.html#servername> and
<http://httpd.apache.org/docs/2.0/mod/core.html#usecanonicalname>.
James
More information about the Twisted-web
mailing list