来自http://wntest.ustc.edu.cn/mine/wordpress/?p=400
及 http://hi.baidu.com/171892549/blog/item/0ec6aaef22acbb1dfdfa3ca7.html
NGINX的proxy_redirect功能比较强大,其作用是对发送给客户端的URL进行修改。以例子说明:
server {
listen 80;
server_name test.abc.com;
location / {
proxy_pass http://10.10.10.1:9080;
}
}这段配置一般情况下都正常,但偶尔会出错, 错误在什么地方呢? 抓包发现服务器给客户端的跳转指令里加了端口号,如 Location: http://test.abc.com:9080/abc.html 。因为nginx服务器侦听的是80端口,所以这样的URL给了客户端,必然会出错.针对这种情况, 加一条proxy_redirect指令: proxy_redirect http://test.abc.com:9080/ / ,把所有“http://test.abc.com:9080/”的内容替换成“/”再发给客户端,就解决了。
server {
listen 80;
server_name test.abc.com;
proxy_redirect http://test.abc.com:9080/ /;
location / {
proxy_pass http://10.10.10.1:9080;
}
}
http://nginx.179401.cn/
圣地啊 加红 加粗~!!
出处:http://nginx.179401.cn/StandardHTTPModules/HTTPProxy.html
proxy_redirect
语法:proxy_redirect [ default|off|redirect replacement ]
默认值:proxy_redirect default
使用字段:http, server, location
如果需要修改从被代理服务器传来的应答头中的"Location"和"Refresh"字段,可以用这个指令设置。
假设被代理服务器返回Location字段为: http://localhost:8000/two/some/uri/
这个指令:
proxy_redirect http://localhost:8000/two/ http://frontend/one/;
将Location字段重写为http://frontend/one/some/uri/。
在代替的字段中可以不写服务器名:
proxy_redirect http://localhost:8000/two/ /;
这样就使用服务器的基本名称和端口,即使它来自非80端口。
如果使用“default”参数,将根据location和proxy_pass参数的设置来决定。
例如下列两个配置等效:
location /one/ { proxy_pass http://upstream:port/two/; proxy_redirect default;} location /one/ { proxy_pass http://upstream:port/two/; proxy_redirect http://upstream:port/two/ /one/;}
在指令中可以使用一些变量:
proxy_redirect http://localhost:8000/ http://$host:$server_port/;
这个指令有时可以重复:
proxy_redirect default; proxy_redirect http://localhost:8000/ /; proxy_redirect http://www.example.com/ /;
参数off将在这个字段中禁止所有的proxy_redirect指令:
proxy_redirect off; proxy_redirect default; proxy_redirect http://localhost:8000/ /; proxy_redirect http://www.example.com/ /;
利用这个指令可以为被代理服务器发出的相对重定向增加主机名:
- 浏览: 5027449 次
- 性别:
- 来自: 南京
文章分类
- 全部博客 (2844)
- java (1094)
- hadoop (37)
- jvm (39)
- hbase (11)
- sql (25)
- 异常 (83)
- div css (6)
- 数据库 (95)
- 有趣的code (15)
- struts2 (6)
- spring (124)
- js (44)
- 算法 (65)
- linux (36)
- hibernate (7)
- 中间件 (78)
- 设计模式 (2)
- 架构 (275)
- 操作系统 (91)
- maven (35)
- tapestry (1)
- mybatis (9)
- MQ (101)
- zookeeper (18)
- 搜索引擎,爬虫 (208)
- 分布式计算 (45)
- c# (7)
- 抓包 (28)
- 开源框架 (45)
- 虚拟化 (12)
- mongodb (15)
- 计算机网络 (2)
- 缓存 (97)
- memcached (6)
- 分布式存储 (13)
- scala (5)
- 分词器 (24)
- spark (104)
- 工具 (23)
- netty (5)
- Mahout (6)
- neo4j (6)
- dubbo (36)
- canal (3)
- Hive (10)
- Vert.x (3)
- docker (115)
- 分布式追踪 (2)
- spring boot (5)
- 微服务 (56)
- 淘客 (5)
- mesos (67)
- php (3)
- etcd (2)
- jenkins (4)
- nginx (7)
- 区块链 (1)
- Kubernetes (92)
- 驾照 (1)
- 深度学习 (15)
- JGroups (1)
- 安全 (5)
- 测试 (16)
- 股票 (1)
- Android (2)
- 房产 (1)
- 运维 (6)
- 网关 (3)
最新评论
-
明兜3号:
部署落地+业务迁移 玩转k8s进阶与企业级实践技能(又名:Ku ...
Kubernetes系统常见运维技巧 -
q328965539:
牛掰啊 资料收集的很全面
HDFS小文件处理解决方案总结+facebook(HayStack) + 淘宝(TFS) -
guichou:
fluent挂载了/var/lib/kubelet/pods目 ...
kubernetes上部署Fluentd+Elasticsearch+kibana日志收集系统 -
xu982604405:
System.setProperty("java.r ...
jmx rmi 穿越防火墙问题及jmxmp的替代方案 -
大漠小帆:
麻烦问下,“获取每个Item相似性最高的前N个Item”,这个 ...
协同过滤推荐算法在MapReduce与Spark上实现对比
发表评论
-
Canal+Otter - 前日篇(1)
2017-10-11 11:21 1193数据库同步中间件Canal+Otter - 前日篇(1) ... -
Otter-入门篇1(阿里开源项目Otter介绍)
2017-10-11 11:16 944Otter-入门篇1(阿里开源项目Otter介绍) ... -
A Jenkins API client for Java
2016-12-14 20:32 1623A Jenkins API Client for Java ... -
CentOS7安装etcd和flannel
2016-12-12 10:47 2306开始 在搭建Kubernetes的环境的时候,你可能会遇 ... -
nginx 域名跳转一例~~~(rewrite、proxy)
2016-12-08 14:29 3574今天接到一个需求, ... -
实例讲解Nginx下的rewrite规则
2016-12-10 10:12 654一.正则表达式匹配,其中:* ~ 为区分大小写匹配* ~* ... -
Nginx 的 TCP 负载均衡介绍
2016-12-08 14:30 1201Nginx Plus的商业授权版开始具有TCP负载均衡的功 ... -
Nginx的tcp反向代理初探
2016-12-07 15:26 1355只要对nginx.conf稍作简单的配置就可以实现http反 ... -
Linux下的nginx启动、重新启动
2016-11-27 23:12 995nginx的启动命令是: /usr/local/ngi ... -
RocketMQ基本概念及原理介绍
2016-08-17 16:31 10347基本概念ProducerGroup通 ... -
Nginx + Tomcat + HTTPS 配置原来不需要在 Tomcat 上启用 SSL 支持
2016-08-08 10:42 907支持 云服务器免费,最高3个月,购买抽万元红包> ... -
Otter-入门篇1(阿里开源项目Otter介绍)
2016-08-02 10:26 1653摘要 呜啦啦啦啦!今 ... -
解决Mysql读写分离数据延迟
2016-08-02 10:25 4595使用MySQL Proxy解决MySQ ... -
canal Could not find first log file name in binary log index file
2016-07-18 14:59 48212016-07-18 14:50:36.090 [dest ... -
使用 VisualVM 进行性能分析及调优
2016-07-08 10:13 550概述 开发大型 Java 应用程序的过程中难免遇到内存泄 ... -
graphite
2016-07-08 10:18 435Graphite 是一个用于采集网站实时信息并进行统计的开 ... -
性能测试:SequoiaDB vs. MongoDB vs. Cassandra vs. HBase
2016-07-05 19:49 1095测试结果 一、 场景1:单条记录导入 图2:单条记 ... -
手动更新本地nexus中central库的索引
2016-07-04 17:27 135891.手动更新1. 下载索引文件在http://repo.m ... -
跨语言通信方案的比较—Thrift、Protobuf和Avro
2016-06-20 11:11 1127常用的跨语言通信方 ... -
Apache Thrift - java开发详解
2016-06-20 11:04 12331、添加依赖 jar <dependency ...
相关推荐
在讨论Nginx的proxy_redirect指令时,我们首先要明确其在Nginx配置中的作用和重要性。proxy_redirect指令主要用于在反向代理过程中修改响应头中的Location和Refresh字段值。在Web服务器配置中,特别是在使用Nginx...
在Nginx配置中,`location`指令是用于定义URL路由和处理规则的关键部分,它决定了请求应如何被代理、重定向或静态文件服务。在本文中,我们将深入探讨`location`指令的匹配机制以及在多个`if`语句中使用`proxy_pass`...
总结,通过以上三个步骤,我们可以在 Nginx 中配置静态文件的缓存,有效提高静态资源的访问速度。在实际应用中,可以根据具体需求调整缓存策略和缓存大小,以达到最佳性能和资源利用率。同时,监控缓存命中率和清理...
在Nginx服务器配置中,`location`指令是核心部分,用于处理HTTP请求。当我们谈论`proxy_pass`和`rewrite`时,这是两种强大的功能,它们可以协同工作以实现复杂的URL路由和反向代理设置。下面我们将深入探讨这两个...
在本文中,我们将深入探讨如何配置Nginx以支持文件上传功能,特别是使用upload_module和upload_progress_module这两个第三方模块。Nginx是一个高效且灵活的HTTP服务器和反向代理,由Igor Sysoev开发,它支持模块化的...
Windows 下 Nginx 的安装与配置 Nginx 是一款高性能的、轻量级的 HTTP Web 服务器和反向代理服务器及电子邮件 IMAP/POP3/SMTP 代理服务器。其稳定性、丰富的功能集、示例配置文件和低系统资源的消耗使得其广泛应用...
配置反向代理需要在 Nginx 配置文件中添加相应的配置指令。首先,需要打开 Nginx 配置文件(nginx.conf),然后添加以下配置: ``` location /mqtt { proxy_pass http://mnif.cn:8083; proxy_redirect off; ...
在Nginx的`nginx.conf`中添加代理配置,指向Tomcat实例,例如: ``` location / { proxy_pass http://localhost:8080; } ``` #### 启动服务与验证 最后,分别启动Nginx和Tomcat服务,通过访问Nginx监听的端口来...
在Nginx的配置文件中,每一行指令都对应着一个特定的功能,对服务器的性能和响应速度有着直接影响。以下是配置文件中的关键设置及其详细解释: 1. **全局块**: - `user nobody nobody;`:指定Nginx进程的运行用户...
在实际配置中,可能会遇到路径问题,如Nginx配置`proxy_pass`转发时的路径不匹配问题。这通常涉及URL路径的相对与绝对路径理解,以及URL参数的处理。 ```nginx location /api/ { proxy_pass http://backend/api/; ...
### Nginx配置负载均衡与反向代理知识点详解 #### 一、理解负载均衡与反向代理 在深入了解本文档中的具体配置之前,我们首先来了解一下负载均衡与反向代理的基本概念。 **负载均衡**是一种分布式系统设计的技术,...
### Windows 下配置 Nginx 反向代理 Tomcat 在 Windows 环境下配置 Nginx 作为 Tomcat 的反向代理服务器是一项常见的任务,主要用于实现负载均衡、提高安全性及提升性能等目的。本文将从下载 Nginx 开始,详细介绍...
`proxy_pass`指令用于配置Nginx作为反向代理时,将请求转发到的后端服务器地址。例如: ```nginx proxy_pass http://localhost:8080; ``` 这行配置告诉Nginx将请求转发到运行在本地机器8080端口上的服务。 ##### ...
【Windows_Nginx_Tomcat_负载均衡服务器】配置详解 在现代Web应用程序部署中,负载均衡是一项关键技术,它可以确保高可用性和可扩展性。本篇将详细讲解如何在Windows环境中利用Nginx作为反向代理服务器,结合Tomcat...
4. 配置 Nginx 服务器的 proxy_pass 模块。 5. 启动 Nginx 服务器。 6. 访问 localhost/index.jsp 查看运行状况。 七、结论 通过本文,我们可以看到 Nginx+Tomcat 实现负载均衡的整个过程。这种技术可以提高系统的...
在 nginx 的配置文件中,需要添加以下配置: upstream localhost { server localhost:8081 weight=5; server localhost:8082 weight=5; ip_hash; } 这个配置将请求分配到两个 Tomcat 服务器上,每个服务器的...
在Nginx中,配置反向代理非常简单,只需在location块中设置proxy_pass指令,例如: ```nginx location /luban/ { proxy_pass http://127.0.0.1:8010; } ``` Nginx还提供了多种参数来优化代理行为,如proxy_...