按分类归档:Nginx

nginx内置变量

https://www.cnblogs.com/raichen/p/5121262.html http://www.nginx.cn/273.html https://www.cnblogs.com/voipman/p/5054908.html http://blog.csdn.net/weixin_36429334/article/details/69619487

评论关闭

nginx重定向post请求

场景: app里访问的接口地址为/service/upload 然而现在项目中实际地址为/servicev3/upload 之所以这样是开发的时候沟通不畅,没有更新为新地址,ios已经上线,无法短时间内上新版。 临时解决办法就想到用nginx的rewrite,结果发现不成功。 这里做了一个测试。 rewrite 方式: 用postman发起一个post请求 : 302跳转 跳转到post.php,但是请求方式变为get,这样post的数据就无法获取到。 后来查资料,需要用proxy_pass方式: 这样才看到post的数据。 个人认为 rewrite(跳转) 可能不支持post重定向,需要通过proxy_pass(反向代理)来实现。

评论关闭

nginx反向代理,后端服务器获取真实ip原理

环境:nginx做反向代理,apache做后端服务器 nginx部分配置代码: upstream apache{ server 127.0.0.1:8080; # 后端真实服务器地址及端口 } server { listen 80; server_name www.a.com; root /usr/share/nginx/html; location / { proxy_pass http://apache; proxy_set_header ClientIpGetFromNginx $remote_addr; } 首先先去看一下nginx内置的变量: http://blog.csdn.net/iinel/article/details/4321383 变量 $remote_addr 代表客户端ip地址 通常来说nginx反向代理会添加一个请求头 proxy_set_header X-Forwarded-For $remote_addr; 以此传递客户端ip到后端服务器。 为了方便理解,我这里改一下头的名称: proxy_set_header ClientIpGetFromNginx $remote_addr; … 继续阅读

评论关闭