nginx的proxy_pass指令

简介:

一,在nginx中配置proxy_pass时的加不加/的问题

要注意proxy_pass后的url最后的/

当加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走

如果没有/,则会把匹配的路径部分也给代理走

例:

   location ^~ /static_js/

   {

   proxy_cache js_cache;

   proxy_set_header Host js.test.com;

   proxy_pass http://js.test.com/;

   }


如上面的配置,如果请求的url是http://servername/static_js/test.html 会被代理成http://js.test.com/test.html

而如果这么配置

例:

   location ^~ /static_js/

   {

   proxy_cache js_cache;

   proxy_set_header Host js.test.com;

   proxy_pass http://js.test.com;

   }

如上面的配置,如果请求的url是http://servername/static_js/test.html

则会被代理到http://js.test.com/static_js/test.htm


二,关于proxy_pass配置的uri问题


你不想nginx对你的URI请求有任何形式的修改,那么,proxy_pass的配置中就不应该有任何URI部分。


举个例子,nginx服务器IP为10.0.0.20,它的配置不含URI:

location /first/second/ {

       proxy_pass http://10.0.0.30:90;

}

那么,

原:http://10.0.0.20/first/second/test.html

转:http://10.0.0.30:90/first/second/test.html


如果配置成含URI:

location /first/second/ {

proxy_pass http://10.0.0.30:90/myuri;

}

那么,

原: http://10.0.0.20/first/second/test.html

转:http://10.0.0.30:90/myuri/test.html

简单地说,配置了URI之后,跳转行为可能会令你感到莫名其妙。










本文转自 leejia1989 51CTO博客,原文链接:http://blog.51cto.com/leejia/1198030,如需转载请自行联系原作者
目录
相关文章
|
9月前
|
应用服务中间件 nginx
Nginx进程配置指令详解
Nginx进程配置指令主要包括:`worker_processes`设置工作进程数;`worker_cpu_affinity`绑定CPU核心;`worker_rlimit_nofile`设置最大文件描述符数量;`worker_priority`设置进程优先级;`worker_connections`设置最大连接数;`daemon`控制守护进程模式;`master_process`启用主进程模式;`pid`设置PID文件路径;`user`指定用户和组;`error_log`配置错误日志。这些指令在`nginx.conf`中配置,用于优化和控制Nginx的运行行为。
441 10
|
11月前
|
缓存 负载均衡 应用服务中间件
Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇
通过使用Nginx的反向代理功能,可以有效地提高Web应用的性能、安全性和可扩展性。配置过程中需要注意不同场景下的具体需求,如负载均衡、SSL终止和缓存策略等。正确配置和优化Nginx反向代理可以显著提升系统的整体表现。
1840 20
|
应用服务中间件 nginx
nginx location指令详解
nginx location指令详解
|
缓存 应用服务中间件 API
Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇(三)
Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇(三)
336 3
|
缓存 运维 应用服务中间件
运维系列.Nginx配置中的高级指令和流程控制
运维系列.Nginx配置中的高级指令和流程控制
958 1
|
缓存 安全 应用服务中间件
Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇(二)
Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇(二)
782 1
|
网络协议 应用服务中间件 nginx
Nginx的http块sendfile,keepalive_timeout的配置指令说明
Nginx的http块sendfile,keepalive_timeout的配置指令说明
|
负载均衡 应用服务中间件 网络安全
Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇(一)
Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇(一)
2875 0
|
应用服务中间件 Shell nginx
shell分析nginx日志的一些指令
shell分析nginx日志的一些指令
172 0
|
应用服务中间件 nginx
百度搜索:蓝易云【Nginx【Nginx核心指令(rewrite指令、实战rewrite 、if指令、set和break指令】】
这些核心指令在Nginx的配置文件中发挥重要作用。使用rewrite指令可以实现URL的重写和重定向,if指令可以根据条件执行不同的操作,set指令可以创建自定义变量并设置其值,而break指令可以中断请求处理流程。理解和灵活运用这些指令,可以帮助我们更好地配置和管理Nginx服务器。
203 1