nginx在反向代理的时候,proxy_pass需要指定路径,有无"/"的区别,如下:
 
 location /lile {
配置一: proxy_pass http://192.168.0.37/;
配置二: proxy_pass http://192.168.0.37;
}

环境说明:

反向代理服务器:192.168.0.224
真实数据机器:192.168.0.37

 
1:先配置真实数据机的nginx配置文件
 
worker_processes  ;

events {
worker_connections ;
} http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout ; server {
listen ;
server_name localhost; root /web1 location /lile {
root /data;
index index.html;
}
}
}
创建对应的文件夹:
 
mkdir /web1
echo "My location is /web1" > index.html
mkdir -p /data/lile
echo "My location is /data/lile" > index.html
2:反向代理的配置文件为
 
worker_processes  ;
events {
worker_connections ;
} http {
include mime.types;
default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'; access_log logs/access.log main;
sendfile on;
keepalive_timeout ; server {
listen ;
server_name localhost;
location /lile {
配置一:proxy_pass http://192.168.0.37;
配置二:proxy_pass http://192.168.0.37/
}
}
}
 
 
3:测试
 
当proxy_pass为:http://192.168.0.37  的时候,返回的数据如下:
1)浏览器请求访问http://192.168.0.224/lile/ 
2)到达192.168.0.224后,location /lile 匹配到之后,转发的地址为:http://192.168.0.37/lile/
3)然后到达192.168.0.37,匹配到了location /lile,所以就去/data目录下取数据
 
 
 
当proxy_pass为: http://192.168.0.37/  的时候,返回的数据如下:
1)浏览器请求访问http://192.168.0.224/lile/ 
2)达192.168.0.224后,location /lile 匹配到之后,转发的地址为:http://192.168.0.37/,这里在proxy_pass的 http://192.168.0.37/ 的“/”会把/lile给替换掉
3)然后到达192.168.0.37,直接匹配到的是root /web1,所以就去/web1目录下取数据
 
 
4:其他
 
在上面的location若为/,没有其他的具体匹配值,那么这两个的访问无区别

location / {
配置一: proxy_pass http://192.168.0.37/;
配置二: proxy_pass http://192.168.0.37;
}

 
配置一转发的时候,新的URI替换原有的得到的还是 http://192.168.0.37/
配置二转发的时候,不会发生改变 http://192.168.0.37/
 
 
5:总结
 
proxy_pass URL(http://192.168.0.224/uri/)
当URL中含有URI时,Nginx服务器会使用新的URI替换原有的URI(这里的新的URI理解为proxy_pass URL里的URI)
当URL中不含URI时,Nginx服务器不会改变原有地址的URI
这里的URI与URL暂且不去讨论它是怎么定义的,就理解为域名或者IP地址之后的路径(暂时还没弄清楚他们两个的区别)
 
 
注:学习《nginx高性能Web服务器详解》的时候总结

nginx里proxy_pass有无/的区别的更多相关文章

  1. 【10】Nginx:后面有无 / 的区别

    写在前面的话 在 nginx 中,我们很多时候都有一个疑问,在 proxy_pass 或者 root 或者 location 后面需不需要加上 /,加和不加有啥区别. root  / alias 后面 ...

  2. Nginx里的root/index/alias/proxy_pass的意思

    1.[alias] 别名配置,用于访问文件系统,在匹配到location配置的URL路径后,指向[alias]配置的路径.如: location /test/ { alias /home/sftp/i ...

  3. Nginx配置proxy_pass

    nginx配置proxy_pass,需要注意转发的路径配置 1.location /test/ { proxy_pass http://t6:8300; } 2.location /test/ { p ...

  4. nginx 之 proxy_pass

    nginx中有两个模块都有proxy_pass指令 ngx_http_proxy_module的proxy_pass 语法: proxy_pass URL; 场景: location, if in l ...

  5. Nginx的proxy_pass及upstream的小型负载均衡

    proxy_pass Nginx的proxy_pass将请求代理到其他的后端服务器.例如 listen 9999; server_name wyc.com; location /test/aaa { ...

  6. nginx中proxy_pass小斜杠

    nginx中proxy_pass小斜杠 1. 故事背景 相信做微信公众号开发的朋友都知道,要想在微信中预览效果,必须使用域名访问.很多朋友使用内网穿透工具.不仅不好用还不稳定.所以,发挥脸厚吃天下的态 ...

  7. 记录一次 Nginx 配置 proxy_pass 后 返回404问题

    一. Nginx 配置 proxy_pass 后 返回404问题 故障解决和定位 1.1. 问题 在一次生产涉及多次转发的配置中, 需求是下面的图: 在配置好了 proxy_pass 之后,请求 ww ...

  8. Nginx配置proxy_pass转发的/路径问题

    Nginx配置proxy_pass转发的/路径问题 在nginx中配置proxy_pass时,如果是按照^~匹配路径时,要注意proxy_pass后的url最后的/,当加上了/,相当于是绝对根路径,则 ...

  9. nginx 配置proxy_pass URL末尾加与不加/(斜线)的区别

    nginx在配置proxy_pass的时候 URL结尾加斜线(/)与不加的区别和注意事项 假设访问路径的 /pss/bill.html 加/斜线的情况 location /pss/ { proxy_p ...

随机推荐

  1. docker-compose 手工指定容器IP

    首先明确两点: 1只有自定义网络,才能手工指定每个容器的ip.默认的bridge是不行的! 2 手工设定了网段比如172.19.0.0   不影响docker在host装的网卡docker0 的172 ...

  2. Cocos Creator 使用protobufjs

    Win7 + Creator 2.0.0 + protobufjs 6.8.8 1.下载安装protobufjs npm install -g protobufjs 可以看到protobufjs安装在 ...

  3. ubuntu 16.04 的IP地址变更

    网上google 出来的,全是让你变更 /etc/network/interfaces 这个文件. 可是,我以前设置过的静态地址,全没反映在这个文件里. 这回再变更的话,肯定也不是这个. 然后进入/e ...

  4. phpldapadmin操作指导

    1.在浏览器中打开http://IP/phpldapadmin 2. 点击[Login]按钮,输入管理员密码. 3.点击[创建新条目]. 4. 点击[Generic: Postfix Group]. ...

  5. windows服务项目的 安装 卸载 查看

    安装服务:installutil.exe C:\a.exe卸载服务Installutil.exe /u C:\a.exe 查看服务状态 services.msc

  6. 移动端滑动轮播,原生JS

    因为公司需要自定义两个轮播图联动,又不想引入第三方库,所以自己研究了下. 下面只是一个简单的轮播图,由此再拓展一下即可实现两个轮播图联动. <!DOCTYPE html> <html ...

  7. css设置点击态样式

    .rightMenu:active { background-color: rgba(46, 103, 222, 0.13); }

  8. 2162112375 Week04-面向对象设计与继承

    1. 本周学习总结 1.1 写出你认为本周学习中比较重要的知识点关键词 对象.类.封装性.静态属性.静态方法.重载.继承.多态 1.2 尝试使用思维导图将这些关键词组织起来.注:思维导图一般不需要出现 ...

  9. 宇宙最帅叉叉——第三周博客 for 需求改进&原型设计

    需求改进&原型设计 Ⅰ. 需求&原型改进 根据组内成员的讨论以及老师和同学的建议,本周进行了以下的改进: 添加注册功能   根据用户图形界面接收的用户账号及密码,客户端将接受内容记录在 ...

  10. jvm-垃圾收集

    概述 说起垃圾收集,大部分人都把这项技术当做Java语言的伴生产物.其实,GC主要就是考虑完成三件事情: 哪些内存需要回收 什么时候回收 如何回收. 经过半个多世纪的发展,目前内存的动态分配与内存的回 ...