this was my first idea. unfortunately the url get encoded somewhere and preduces requests like<div><br></div><div>GET %20<a href="http://uat2.welt.de/bigpfeeds/?type=contenttypes">http://uat2.welt.de/bigpfeeds/?type=contenttypes</a> HTTP/1.1</div>
<div><br></div><div>of course, the forward proxy does not like this url and raises an error.</div><div><br></div><div>however, i added the schema in upper letters which does the trick:</div><div><br></div><div> location / {<br>
        rewrite ^ <a href="HTTP://foo/bar">HTTP://foo/bar</a> break;<br>        proxy_pass <a href="http://squid">http://squid</a>;<br> }</div><div><br></div><div>so, if i understand you correctly you prefere a more general solution allowing to alter the $uri controlled by a boolen flag defined in the proxy module and in my case read by the rewrite module. But this way the rewrite module will depend on the proxy module, right?</div>
<div><br></div><div>or do you not intend to add a fix for the "forward proxy problem" at all?</div><div><br></div><div>bernd</div><div><br></div><div> <br><div class="gmail_quote">2013/3/22 Maxim Dounin <span dir="ltr"><<a href="mailto:mdounin@mdounin.ru" target="_blank">mdounin@mdounin.ru</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello!<br>
<div class="im"><br>
On Fri, Mar 22, 2013 at 04:14:18PM +0100, Bernd Rössl wrote:<br>
<br>
> hi,<br>
><br>
</div><div class="im">> do you mean something like a new proxy directive like for example<br>
> "proxy_server"?<br>
><br>
> upstream squid {<br>
>     server squid-host:3128;<br>
> }<br>
> upstream example {<br>
>     server <a href="http://www.example.com:80" target="_blank">www.example.com:80</a>;<br>
> }<br>
><br>
> location = '/foo' {<br>
>     proxy_server squid;<br>
</div>>     proxy_pass <a href="http://example/bar" target="_blank">http://example/bar</a> <<a href="http://www.example.com/bar" target="_blank">http://www.example.com/bar</a>>";<br>
<div class="im">> }<br>
><br>
> if "proxy_server" has been set this will be used as the actual upstream and<br>
> the upstream from the proxy_pass will be used for request building.<br>
<br>
</div>Or something like proxy_uri, which would allow to redefine URI<br>
used in a request line.  This way it will be more consitent with<br>
fastcgi_pass and friends.  (It is not clear how this should be<br>
inherited though.)<br>
<br>
Note though that overall we are not really intrested in teaching<br>
nginx to talk to forward proxies, and probably simpliest<br>
solution for a specific problem for now would be to abuse rewrite<br>
problems and force it to work like with your original patch.<br>
Something like this should work (note leading space):<br>
<br>
    location / {<br>
        rewrite ^ " <a href="http://foo/bar" target="_blank">http://foo/bar</a>" break;<br>
        proxy_pass <a href="http://squid" target="_blank">http://squid</a>;<br>
    }<br>
<br>
It should do roughly the same as your original patch, but doesn't<br>
pretend this is correct and supported.<br>
<br>
(Please don't post html here, use plain text.  Thank you.)<br>
<div class="HOEnZb"><div class="h5"><br>
--<br>
Maxim Dounin<br>
<a href="http://nginx.org/en/donation.html" target="_blank">http://nginx.org/en/donation.html</a><br>
<br>
_______________________________________________<br>
nginx-devel mailing list<br>
<a href="mailto:nginx-devel@nginx.org">nginx-devel@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-devel" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-devel</a></div></div></blockquote></div><br></div>