Nginx 根据url参数设置反向代理

 

部署 Nginx

nginx 部署依赖的其他包⾃⾏下载安装,本次试验的是 1.6.2 版本。下载 nginx 安装包:

wget http://nginx.org/download/nginx-1.6.2.tar.gz

编译安装

# ./configure
# make
# make install

启动 Nginx

/usr/local/nginx/sbin/nginx

配置 Nginx

nginx 配置⽂件路径⼀般为  /usr/local/nginx/conf ,修改 nginx.conf

http {
    #...... (省略)
    server {
        # 本处以 localhost:8090 为例进行说明,可按照实际情况修改端口号
        listen 8090;
        server_name localhost;
        #...... (省略)
        ##################### 配置添加部分及其含义 #####################
        # 若请求路径中包含/imageUrl/,则会从 url参数中获取真实的转发地址
        location ~/imageUrl/ {
            # 获取URL中参数,并取url中的参数值,赋给变量imageUrl
            if ($query_string ~* ^(.*)url=(.*)$){
                set $imageUrl $2;
            } 
            # 设置转发地址
            proxy_pass $imageUrl;
            # Nginx 0.6.18以后的版本中启用了一个resolver指令,
            # 在使用变量来构造某个server地址的时候一定要用resolver指令来制定DNS服务器
            resolver 8.8.8.8;
        }#
    #################### 配置添加部分结束 #####################
    }#
    ...... (省略)
}

重载配置⽂件

/usr/local/nginx/sbin/nginx -s reload

设置nginx转发地址示例(以配置⽂件示例中的 /imageUrl/ 路径为例说明):

http://<ng-ip>:<ng-port>/imageUrl/?url=<需要转发的地址>

验证

GET http://xx:xx/asdfkl/imageUrl//afsdfs?
asfd=asdf&url=http://10.154.5.44:8630/alert?limit=10&offset=1&user=admin
真实地址:http://10.154.5.44:8630/alert?limit=10&offset=1&user=admin

验证成功,将请求路由到 url= 后的真实地址

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值