文档章节

关于Nginx location中配置proxy_pass转发时斜线'/'导致的404问题

空山苦水禅人
 空山苦水禅人
发布于 2016/12/12 23:51
字数 246
阅读 400
收藏 0
点赞 0
评论 0

在Nginx location通用匹配规则中配置proxy_pass转发时,假设有如下location配置:

	location /test {
		proxy_pass http://localhost:8080/test;
		proxy_redirect off;
		proxy_set_header X-Real-IP          $remote_addr;
		proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;
		proxy_set_header Host $host:$server_port;
		proxy_set_header X-Forwarded-Proto "https";
		proxy_set_header X-Forwarded-Host $host;
		proxy_set_header X-Forwarded-Server $host;
		proxy_set_header X-Real-IP $remote_addr;
	}

如果我请求 http://localhost/test/a.jsp,则会将url根据匹配规则“/test”截取,然后将“/test”后面的内容(此处为“/a.jsp”)拼接到proxy_pass的后面,然后转发,也就是最后实际请求地址为:proxy_pass http://localhost:8080/test/a.jsp。

所以,如果location的匹配规则最后不加斜线'/',则proxy_pass的最后也不要加斜线,或者都加上斜线,不然就不能正确访问实际地址,导致404 not found错误。

 

注:正则匹配不适用,关于location的匹配规则,可以参考其他资料。

© 著作权归作者所有

共有 人打赏支持
空山苦水禅人
粉丝 13
博文 16
码字总数 10665
作品 0
成都
后端工程师
nginx的反向代理模块 参数proxy_pass,proxy_method,proxy_hide_

nginx的反向代理模块有很多种配置,下面介绍一些常用的配置实例: 1.proxy_pass 语法:proxy_pass URL 配置块:location,if 详解:此配置项将当前请求反向代理到URL参数指定的服务器上,URL...

adbug ⋅ 2016/02/24 ⋅ 0

nginx相同端口代理不同应用

nginx相同端口不同路径代理不同应用示例 代码1 location和proxy_pass末尾均有“/”. 对nginx路径"/mes"的访问代理到http://192.168.1.4:8080/。 以下配置可能带来404错误 代码2 proxy_pass末...

IdleMan ⋅ 2016/11/14 ⋅ 0

Nginx 配置简述

原文出处:小胡子哥(@Barret李靖) 不论是本地开发,还是远程到 Server 开发,还是给提供 demo 给人看效果,我们时常需要对 Nginx 做配置,Nginx 的配置项相当多,如果考虑性能配置起来会比...

小胡子哥(@Barret李靖) ⋅ 2016/11/23 ⋅ 0

apache转换到了nginx的几个注意点

【from】www.mlives.cn 最近把整站从apache升级到了nginx,客户的站点大概有30台服务器大部分架构位tomcat+apache,只有一个php页面 一下是我升级遇到的几个问题的注意点 1. 当我们去访问服务...

范堡 ⋅ 2009/05/06 ⋅ 0

Nginx反向代理+负载均衡

环境 1.1 系统环境 [root@nginx-cache-1-1 nginx]# cat /etc/redhat-release CentOS release 5.8 (Final) [root@nginx-cache-1-1 ~]# uname -r 2.6.18-308.el5 [root@nginx-cache-1-1 ~]# u......

chape ⋅ 2013/05/19 ⋅ 0

Nginx实现404页面的几种方法【转】

一个网站项目,肯定是避免不了404页面的,通常使用Nginx作为Web服务器时,有以下集中配置方式,一起来看看。 第一种:Nginx自己的错误页面 Nginx访问一个静态的html 页面,当这个页面没有的时...

bz_z ⋅ 06/07 ⋅ 0

nginx反向代理及负载均衡

基于Nginx反向代理及负载均衡 只要没有被启用,默认就是开启的,因为proxy属于nginx内置标准模块,通常实现代理的时候,最核心模块是proxy_pass,用于将用户请求的rui递交至上游服务器的某个U...

王洪斌 ⋅ 2014/09/22 ⋅ 0

Nginx配置proxy_pass

nginx配置proxypass,需要注意转发的路径配置 1、location /test/ { proxypass http://t6:8300; } 2、location /test/ { proxypass http://t6:8300/; } 上面两种配置,区别只在于proxypass转......

ustbgaofan ⋅ 2015/11/02 ⋅ 0

使用Nginx代理S3时,需要禁用URL解码。

问题来源 使用Nginx代理S3时,无法创建新文件(读取和删除正常)。 用fuse挂载s3 使用 s3fs (V1.79) 挂载 无法新建文件 错误日志 http-403: 问题跟踪 为提高存储可用性,在提供的服务前加了...

anglix ⋅ 2016/01/15 ⋅ 0

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

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

gaofeng36599 ⋅ 2017/08/15 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring发展历程总结

转自与 https://www.cnblogs.com/RunForLove/p/4641672.html 目前很多公司的架构,从Struts2迁移到了SpringMVC。你有想过为什么不使用Servlet+JSP来构建Java web项目,而是采用SpringMVC呢?...

onedotdot ⋅ 28分钟前 ⋅ 0

Python模块/包/库安装(6种方法)

Python模块/包/库安装(6种方法) 冰颖机器人 2016-11-29 21:33:26 一、方法1: 单文件模块 直接把文件拷贝到 $python_dir/Lib 二、方法2: 多文件模块,带setup.py 下载模块包(压缩文件zip...

cswangyx ⋅ 48分钟前 ⋅ 0

零基础学习大数据人工智能,学习路线篇!系统规划大数据之路?

大数据处理技术怎么学习呢?首先我们要学习Python语言和Linux操作系统,这两个是学习大数据的基础,学习的顺序不分前后。 Python:Python 的排名从去年开始就借助人工智能持续上升,现在它已经...

董黎明 ⋅ 56分钟前 ⋅ 0

openJdk和sun jdk的区别

使用过LINUX的人都应该知道,在大多数LINUX发行版本里,内置或者通过软件源安装JDK的话,都是安装的OpenJDK, 那么到底什么是OpenJDK,它与SUN JDK有什么关系和区别呢? 历史上的原因是,Ope...

jason_kiss ⋅ 今天 ⋅ 0

梳理

Redux 是 JavaScript 状态容器,提供可预测化的状态管理。 它是JS的状态容器,是一种解决问题的方式,所以即可以用于 react 也可以用于 vue。 需要理解其思想及实现方式。 应用中所有的 stat...

分秒 ⋅ 今天 ⋅ 0

Java 后台判断是否为ajax请求

/** * 是否是Ajax请求 * @param request * @return */public static boolean isAjax(ServletRequest request){return "XMLHttpRequest".equalsIgnoreCase(((HttpServletReques......

JavaSon712 ⋅ 今天 ⋅ 0

Redis 单线程 为何却需要事务处理并发问题

Redis是单线程处理,也就是命令会顺序执行。那么为什么会存在并发问题呢? 个人理解是,虽然redis是单线程,但是可以同时有多个客户端访问,每个客户端会有 一个线程。客户端访问之间存在竞争...

码代码的小司机 ⋅ 今天 ⋅ 0

到底会改名吗?微软GVFS 改名之争

微软去年透露了 Git Virtual File System(GVFS)项目,GVFS 是 Git 版本控制系统的一个开源插件,允许 Git 处理 TB 规模的代码库,比如 270 GB 的 Windows 代码库。该项目公布之初就引发了争...

linux-tao ⋅ 今天 ⋅ 0

笔试题之Java基础部分【简】【二】

1.静态变量和实例变量的区别 在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变...

anlve ⋅ 今天 ⋅ 0

Lombok简单介绍及使用

官网 通过简单注解来精简代码达到消除冗长代码的目的 优点 提高编程效率 使代码更简洁 消除冗长代码 避免修改字段名字时忘记修改方法名 4.idea中安装lombnok pom.xml引入 <dependency> <grou...

to_ln ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部