文档章节

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

空山苦水禅人
 空山苦水禅人
发布于 2016/12/12 23:51
字数 246
阅读 453
收藏 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的匹配规则,可以参考其他资料。

© 著作权归作者所有

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

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

adbug
2016/02/24
861
0
nginx相同端口代理不同应用

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

IdleMan
2016/11/14
58
0
Nginx 配置简述

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

小胡子哥(@Barret李靖)
2016/11/23
0
0
apache转换到了nginx的几个注意点

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

范堡
2009/05/06
1K
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
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

(三)Nginx配置·续

概述 前文写了关于Nginx环境配置,但是还没有完,接下来将会继续讲三个相关的配置 主要是以下三个 1.Nginx访问日志 2.Nginx日志切割 3.静态文件不记录日志和过期时间 Nginx访问日志 1.先看看...

杉下
今天
1
0
jquery创建类似于java的map

var map = {}; // Map map = new HashMap(); map[key] = value; // map.put(key, value); var value = map[key]; // Object value = map.get(key); var has = key in map; // boolean has = ......

SuperDabai
今天
0
0
java大数据转换16进制转10进制

public static void main(String[] args) {String hex = "0xdbf3accc683297cf0000";BigInteger amount = new BigInteger(hex.substring(2), 16);System.out.println(amount);......

任梁荣
昨天
2
0
OSChina 周六乱弹 —— 目测我们程序员丁克的几率不大

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @真Skr小机灵鬼儿:8.13分享Jocelyn Pook/Russian Red的单曲《Loving Strangers》 《Loving Strangers》- Jocelyn Pook/Russian Red 手机党少...

小小编辑
昨天
15
4
TypeScript基础入门 - 函数 - 剩余参数

转载 TypeScript基础入门 - 函数 - 剩余参数 项目实践仓库 https://github.com/durban89/typescript_demo.gittag: 1.2.1 为了保证后面的学习演示需要安装下ts-node,这样后面的每个操作都能...

durban
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部