Nginx反向代理根據參數代理不同的後端服務器

請求地址如下http://www.myproxy.com?proxy=http://www.baidu.com,代理服務器自動代理參數proxy中的域名站點內容

配置如下

if ($arg_proxy){
    set $backend_pass $arg_proxy;
}
if ($arg_proxy ~ ^(http(s)?://)?([^/?]*)(.*)?$ ){
    set $backend_host $3;
}
location ~ /purge(/.*) { 
    proxy_cache_purge cache_one $1$is_args$args;
}
location /
{
    proxy_pass $backend_pass;
    proxy_set_header Host $backend_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    add_header X-Cache $upstream_cache_status;
    expires 12h;
}

備註:服務器報錯no resolver defined to resolve ×××,解決辦法:nginx的http段加上resolver 8.8.8.8;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章