首先打开Nginx的nginx.conf文件
1、在文件的http{}中,先配置开启自定义头功能
如果不开启,会出现自定义的header被nginx清空的情况
underscores_in_headers on;
2、在Server上面添加map集合
含义:
map [正则验证的变量名] [内容的变量名]{
[正则值] [内容值];
}
map $http_app_version $app1_url {
"1.0" http://120.27.27.31:9993;
# 默认url
default http://120.27.27.31:9994;
}
server {
listen 443 ssl;
server_name test.chonganan.com;
#ssl on;
ssl_certificate /usr/local/nginx/testchonganan_cert/3560242_test.chonganan.com.pem;
ssl_certificate_key /usr/local/nginx/testchonganan_cert/3560242_test.chonganan.com.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
#root html;
#index index.html index.htm;
if ($http_user_agent !~* "MicroMessenger"){
set $app1_url http://120.27.27.31:9993;
}
proxy_pass $app1_url;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
3、在location中配置代理,把变量值带入pass后面
也可以加入必要的判断,来改变变量