部署 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= 后的真实地址