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

回到顶部