[Twisted-web] disabling redirection

Jean-Paul Calderone exarkun at divmod.com
Sun Jun 10 12:03:32 EDT 2007


On Sun, 10 Jun 2007 17:32:47 +0200, Markus Schiltknecht <markus at bluegap.ch> wrote:
>Hi,
>
>Colin Alston wrote:
>>What is the basis for using Varnish as opposed to just serving up with 
>>Twisted directly?
>
>Uh.. server side caching, reverse proxying... Why does that need more 
>explanation? Why should I do that with twisted, if varnish is better at 
>being a reverse proxy (assuming that twisted also offers a caching module, 
>which I'm guessing)?
>
>Besides, varnish does a very good job with virtual hosts and multiple 
>backends (web servers), given that I'm not exclusively running twisted, but 
>other web servers as well. (And running one twisted instance per virtual 
>website.)
>>Perhaps you should point out just exactly where and when you're 
>>experiencing problems with URL rewrites. I've never experienced any of 
>>these problems deploying either with a simple reverse proxy or the 
>>VHostMonstorResource. It used to be a problem specifically with Guard but 
>>these issues seem to have dissolved over the current versions.
>
>Maybe I'm just missing an example...
>
>What I want is pretty simple: I want twisted to serve the URL which I 
>requested in the HTTP requests top line, no matter what the Host: header 
>says, i.e. the following two requests:
>
>GET /sample.html HTTP/1.0
>Host: localhost:8080
>
>and:
>
>GET /sample.html HTTP/1.0
>Host: www.postgres-r.org
>
>..should both deliver the same sample.html file. And *not* a redirect to 
>whatever twisted thinks is it's hostname and port.
>
>If twisted could simply ignore the 'Host' field, that would be fine. If I 
>could tell it, what Hosts it should accept (instead of only accepting 
>'localhost:8080') and what not (i.e. it should probably redirect 
>'postgres-r.org' to 'www.postgres-r.org'), that would be extra super!
>
>Maybe, someone could simply point me to the python file where twisted does 
>the hostname and port checking and the redirection? That would already 
>help...
>

You're going about this wrong, unfortunately.  "Twisted" won't issue a
redirect based on the Host header.  Even "twisted.web" won't do that.
Some resource provided by twisted.web (or nevow, I forget what you're
using) might, but only if you put it into your resource hierarchy.  Perhaps
you could elaborate on how and of what your Site is constructed?  A minimal
code example would be ideal, since it communicates exactly the problem
you're having, instead of relying on the imperfect ability of other people
to translate a prose description of a program back into the same program.

Jean-Paul



More information about the Twisted-web mailing list