为什么这种动态Nginx代理配置不起作用?
我有一个nginx配置,如下所示:为什么这种动态Nginx代理配置不起作用?,nginx,proxy,Nginx,Proxy,我有一个nginx配置,如下所示: location /textproxy { proxy_pass http://$arg_url; proxy_connect_timeout 1s; proxy_redirect off; proxy_hide_header Content-Type; proxy_hide_header Content-Disposition; add_header Content-Type "text/plain"; proxy_set_hea
location /textproxy {
proxy_pass http://$arg_url;
proxy_connect_timeout 1s;
proxy_redirect off;
proxy_hide_header Content-Type;
proxy_hide_header Content-Disposition;
add_header Content-Type "text/plain";
proxy_set_header Host $host;
}
其思想是,这将代理远程url,并将内容头重写为文本/纯文本
例如,我会称之为:
http://nx/textproxy?url=http://foo:50070/a/b/c?arg=abc:123
它将返回http://foo:50070/a/b/c?arg=abc:123
,但用文本/普通标题包装
但这似乎不起作用,我经常遇到“无效上游端口”错误:
2013/07/23 19:05:10 [error] 25292#0: *963177 invalid port in upstream "http://foo:50070/a/b/c?arg=abc:123", client: xx.xxx.xx.xx, server: ~^(?<h>nx)(\..+|)$, request: "GET /textproxy?url=http://foo:50070/a/b/c?arg=abc:123 HTTP/1.1", host: "nx"
2013/07/23 19:05:10[错误]25292#0:*963177上游端口无效”http://foo:50070/a/b/c?arg=abc:123,客户端:xx.xxx.xx.xx,服务器:~^(?nx)(\..+)$,请求:“GET/textproxy?url=http://foo:50070/a/b/c?arg=abc:123 HTTP/1.1,“主机:“nx”
有什么想法吗?我很难找到答案。直接在浏览器上打开url时,url是否正常工作?proxy\u pass http://$arg\u url;+?url=http://重复