nginx proxy_pass 的注意点

简介:

【nginx常用作反响代理】--特别是网络环境隔离的情况下。访问一台机器只能通过一台代理的proxy才能访问的情况。



但是proxy_pass指令中 "/" 是否加在后端服务器的uri中是有很大的区别的。


如: 一个简单例子

1
2
3
4
5
6
7
8
[root@cuizhiliang conf.d]# cat test.conf 
server {
     listen 80 default_server;
     server_name _;
     location /test/ {
         proxy_pass http://10.59.87.11;    
     }
}


proxy_pass http://10.59.87.11; 和 proxy_pass http://10.59.87.11/; 是有区别的。

在nginx中配置proxy_pass时,如果是按照location匹配路径时, 要注意如果proxy_pass后面的url加了"/"。那就表示的是绝对路径,代理的时候不会加上被location匹配的部分。 如果未加"/" 则会当location匹配的部分都加上。


如请求:

curl http://127.0.0.1/test/index.html


在第一种情况下,被代理的去请求的路径其实就是: http://10.59.87.11/test/index.html

在第二种情况下,被代理的去请求的路径其实就是: http://10.59.87.11/index.html


这个请求访问日志可以在 10.59.87.11 这台机器上去。





用途最简单的代理功能,被请求的一个server_name就代理到另外一台机器去:

server {

    listen 80; 

    server_name test-ops.abc.com;


    location / {

proxy_pass http://10.59.72.191;

    }

}



被请求的一个server_name代理到一组(upstream 定义好了)服务器中取

upstream ops {

    server 10.59.72.191:80;

    server 10.59.72.192:80;

    ip_hash;

    }

server {

    listen 80; 

    server_name ops.abc.com;


    location / {

proxy_pass http://ops;

    }

}

本文转自残剑博客51CTO博客,原文链接http://blog.51cto.com/cuidehua/1888339如需转载请自行联系原作者


cuizhiliang

相关文章
|
3月前
|
缓存 应用服务中间件 API
Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇(三)
Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇(三)
49 3
|
3月前
|
缓存 安全 应用服务中间件
Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇(二)
Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇(二)
59 1
|
3月前
|
负载均衡 应用服务中间件 网络安全
Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇(一)
Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇(一)
466 0
|
应用服务中间件 nginx
Nginx:proxy_pass和try_files 301跳转带了端口
Nginx:proxy_pass和try_files 301跳转带了端口
476 0
|
网络协议 应用服务中间件 API
Nginx反向代理配置之proxy_pass
Nginx反向代理配置之proxy_pass
334 0
Nginx反向代理配置之proxy_pass
|
应用服务中间件 nginx
Nginx服务器的反向代理proxy_pass配置方法讲解
 Nginx服务器的反向代理proxy_pass配置方法讲解 这篇文章主要介绍了Nginx服务器的反向代理proxy_pass配置方法讲解,包括经常被提到的url的/问题的相关说明,需要的朋友可以参考下 就普...
5073 0
|
前端开发 Java 应用服务中间件
nginx反向代理location和proxy_pass斜杠踩坑
当下前后端项目分离是一种大的趋势,那么前后端分离之后用什么来做它们之前的信息传递桥梁呢,使用最多的就是nginx的反向代理了。在进行nginx反向代理配置的时候,location和proxy_pass中的斜线会造成各种困扰,有时候多一个或少一个斜线,就会造成完全不同的结果。
|
前端开发 应用服务中间件 nginx
nginx配置proxy_pass(超简单公式记忆法)
nginx配置proxy_pass(超简单公式记忆法)
|
应用服务中间件 nginx
在nginx中配置proxy_pass
在nginx中配置proxy_pass
200 0
|
应用服务中间件 nginx
nginx服务器的反向代理proxy_pass配置方法
nginx服务器的反向代理proxy_pass配置方法
360 0