[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