<div dir="ltr"><div>Hi,</div><div><br></div><div>I'm using Twisted Web server behind Nginx reverse-proxy and I'm getting backend's internal host:port from Request.getHost().</div><div><br></div><div>Seems like Request.host is explicitly set to socket's address (i.e. internal address) here: ​<a href="https://github.com/twisted/twisted/blob/trunk/src/twisted/web/http.py#L838">https://github.com/twisted/twisted/blob/trunk/src/twisted/web/http.py#L838</a> But comment at ​<a href="https://github.com/twisted/twisted/blob/trunk/src/twisted/web/http.py#L1297">https://github.com/twisted/twisted/blob/trunk/src/twisted/web/http.py#L1297</a> and what this method does points that Request.host meant to reflect Host header of the request, i.e. user-visible hostname and port.</div><div><br></div><div>This creates problems for me when using Klein because it correctly uses Request.getHost() to create host part of URLs for redirects.</div><div><br></div><div>It seems like inconsistency in Twisted code. I'd expect Request.host should be only set from the Host request header to reflect user-visible hostname, not the internal backend server's address. Or may be I'm missing something?</div><div><br></div><div>Thanks for reply</div><div><br></div><div>--</div><div>  ilya</div></div>