Nginx二级代理规则(正向代理):自动提取url里面约定的协议、目标主机和url并代理
nginx">server { listen 8080;
#resolver 223.5.5.5; # 如果被代理的地址存在域名,需要加一个dns配置,否则会502,报错信息为:no resolver defined to resolve xxx.com
access_log /data/wwwlogs/access.log access;
set $proxy_schema "http";
set $proxy_host "";
set $proxy_url "";
# 提取请求中的 schema 值:
if ( $request_uri ~ (proxy_schema=([^&]+))){
set $proxy_schema $2;
}
# 提取请求中的 host 值:
if ( $request_uri ~ (proxy_host=([^&]+))){
set $proxy_host $2;
}
# 提取请求中的 proxy_url 值:
if ( $request_uri ~ (proxy_url=(.*)$)){
set $proxy_url $2;
}
# 如果没能提取到则返回404
if ($proxy_url = "") {
return 404;
}
if ($proxy_host = "") {
return 404;
}
# 将提取到的请求请求转发到提取到的主机上
location / {
# 其他proxy优化参数略..
proxy_pass $proxy_schema://$proxy_host$proxy_url;
}
}
以上是 Nginx二级代理规则(正向代理):自动提取url里面约定的协议、目标主机和url并代理 的全部内容, 来源链接: utcz.com/z/518876.html