- 目的: 是通过 nginx重写 到我的开发电脑便于debug调试;
最终的nginx配置:
最终的nginx 配置:
server {
listen 80; ## listen for ipv4; this line is default and implied
root /usr/share/nginx/www;
index index.html index.htm;
# Make site accessible from http://localhost/
server_name mtest.v1.cn;
location / {
proxy_pass http://192.168.51.170:8080;
rewrite ^/video/(.*)$ /mobileplay/$1 break;
}
}
- nginx 关于 rewrite 指令最后一项的参数说明:
last : 相当于apache里的 [L]标示,表示完成rewrite;
break:本条规则匹配完成后,终止匹配,不再匹配后面的规则;
redirect:返回302临时重定向,浏览器地址栏会显示跳转后的url地址;
permanent: 返回301 永久重定向,浏览器地址会显示跳转后的url地址;
在以上的标示中,last和break 用来实现url重写,浏览器地址栏的url地址不会变化;redirect和permanent用来实现url跳转,浏览器地址栏会显示跳转后的url地址;
- 注意的问题:
nginx rewrite 指令在重写时:
如果写成:
rewrite ^/video/(.*)$ http://192.168.51.170:8080/mobileplay/$1 break;
此种方式会造成 浏览器url地址的变化;
原因是: nginx 重写后的地址如果以“http://” 开头 nginx 就会作为 重定向处理,即使是以 last 、break 结束;
具体实现需要添加 proxy_pass 代理到指定的服务器,见上面的的正确配置;