`
haiyupeter
  • 浏览: 425334 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

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;
}

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

当然,我们可以用如下的rewrite来实现/的功能

location ^~ /static_js/
{
proxy_cache js_cache;
proxy_set_header Host js.test.com;
rewrite /static_js/(.+)$ /$1 break;
proxy_pass http://js.test.com;
}
分享到:
评论

相关推荐

    Nginx之proxy_redirect使用详解

    在讨论Nginx的proxy_redirect指令时,我们首先要明确其在Nginx配置中的作用和重要性。proxy_redirect指令主要用于在反向代理过程中修改响应头中的Location和Refresh字段值。在Web服务器配置中,特别是在使用Nginx...

    Nginx如何配置url_hash转发方式.docx

    在本文中,我们将深入探讨如何在Nginx服务器上配置URL哈希(url_hash)转发方式,这是一种负载均衡策略,用于将特定的URL请求路由到特定的后端服务器。这种配置适用于需要根据URL保持会话状态的应用场景,比如动态...

    nginx location中多个if里面proxy_pass的方法

    在Nginx配置中,`location`指令是用于定义URL路由和处理规则的关键部分,它决定了请求应如何被代理、重定向或静态文件服务。在本文中,我们将深入探讨`location`指令的匹配机制以及在多个`if`语句中使用`proxy_pass`...

    nginx_tcp_proxy_module-master

    这里,`listen 8080`指定Nginx监听8080端口,`proxy_pass`则定义了数据转发的目标服务器地址。 4. **启动与重启**:修改配置后,使用`nginx -t`检查配置文件无误,然后重启Nginx服务以应用新配置。 **TCP代理的...

    ngx_http_proxy_connect_module.zip

    在这个配置中,Nginx监听8080端口,当接收到CONNECT请求时,会尝试连接到配置的`$proxy_host:$proxy_port`。 使用该模块需要注意一些安全问题,因为透明代理可能被滥用为攻击跳板或绕过防火墙策略。为了安全起见,...

    nginx-1.10.2_海康;javascript_nginx/1.10.2_nginx转发海康_

    标签"nginx/1.10.2"指的是Nginx的特定版本1.10.2,这意味着在解决任何问题或进行配置时,应考虑该版本可能存在的已知限制和特性。确保查阅官方文档或社区论坛获取针对该版本的特定信息。 综上所述,这个主题涵盖了...

    nginx中location中关于proxy_pass和rewrite的应用.rar

    `proxy_pass`是Nginx的一个关键指令,它用于将客户端的请求转发到上游服务器,通常用于反向代理。例如,当Nginx接收到一个特定的URL请求时,它可以将这个请求传递给内部的Web服务器(如Apache、Tomcat或Node.js服务...

    nginx系列(十)nginx缓存代理proxy_cacahe和CDN实现的原理

    配置proxy_cache涉及多个指令,如proxy_cache_path定义缓存路径,proxy_cache_key设定缓存键,proxy_cache_bypass控制何时绕过缓存等。 2. **CDN原理**:内容分发网络是一种分布式网络服务,通过在全球范围内的多个...

    nginx静态文件缓存的解决方案1

    ### 第三步:配置 proxy_pass 跳转的 location 中的静态文件路径 确保 Nginx 知道静态文件的存储位置,可以在相应 `location` 中使用 `root` 指令: ```nginx location ~ .*\.(html)$ { default_type 'text/html'...

    详解proxy_pass根据path路径转发时的”/”问题记录

    在nginx中配置proxy_pass时,如果是按照^~匹配路径时,要注意proxy_pass后的url最后的/。当加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走;如果没有/,则会把匹配的路径部分也给代理走。...

    nginx配置文件中斜杠/的6种含义

    4. **URL重写**:在某些配置中,`proxy_pass`后面的路径可以用来实现URL重写。例如,如果原始请求是`/oldpath`,配置为`proxy_pass http://backend/newpath/;`,则请求会被转发到`http://backend/newpath/`,实现了...

    nginx proxy_pass指令’/’使用注意事项

    上面两种配置,区别只在于proxy_pass转发的路径后是否带 “/” 针对情况1,如果访问url = http://server/test/test.jsp,则被nginx代理后,请求路径会便问http://proxy_pass/test/test.jsp,将test/ 作

    nginx_upstream_hash-0.3.1.tar.gz

    proxy_pass http://backend; } } } ``` 在这个配置中,`hash $request_uri consistent;`指定了使用请求URI作为哈希键,并使用`consistent`模式来优化哈希结果的均匀性。`server`指令定义了后端服务器,`weight`...

    nginx.config_nginx_

    **Nginx基础配置与参数说明** Nginx是一款高性能的HTTP和反向代理服务器,以其轻量级、高并发处理能力以及优秀的稳定性而被广泛应用于互联网服务中。本文将详细解析`nginx.config`文件中的核心配置选项和参数,帮助...

    配置代理服务器NGINX

    **配置代理服务器NGINX** 在IT行业中,代理服务器是一个重要的...通过阅读《使用nginx针对URL实现负载均衡或者说接口定向分发》和《Nginx配置proxy_pass转发的路径问题》等相关资料,可以深入理解并实践这些配置技巧。

    微信小程序https服务nginx配置示例.pdf

    6. 反向代理配置:在nginx配置中,proxy_pass指令用于指定后端的服务器地址,这里指向了本地的8080端口。同时,还通过proxy_set_header指令设置了传递给后端服务器的HTTP头信息,如X-Forwarded-For(客户端IP地址)...

    Nginx转发WebSocket接口配置方式

    通常,客户端会尝试与`/websocket`路径建立WebSocket连接,如果Nginx配置正确,请求会被转发到后端服务器,双方就能进行双向通信了。 总的来说,Nginx转发WebSocket接口需要理解WebSocket的协议特性,并正确配置...

Global site tag (gtag.js) - Google Analytics