nginx请求转发被拒绝_nginx反向代理(请求转发-URL匹配规则)
反向代理适用于很多场合,负载均衡是最普遍的用法。
nginx 作为目前最流行的web服务器之一,可以很方便地实现反向代理。
当在一台主机上部署了多个不同的web服务器,并且需要能在80端口同时访问这些web服务器时,可以使用 nginx 的反向代理功能: 用 nginx在80端口监听所有请求,并依据转发规则(比较常见的是以 URI 来转发)转发到对应的web服务器上。
例如有 webmail , webcom 以及 webdefault 三个服务器分别运行在 portmail , portcom , portdefault 端口,要实现从80端口同时访问这三个web服务器,则可以在80端口运行 nginx, 然后将 /mail 下的请求转发到 webmail 服务器, 将 /com下的请求转发到 webcom 服务器, 将其他所有请求转发到 webdefault 服务器。
假设服务器域名为example.com,则对应的 nginx http配置如下:
http {
server {
server_name example.com;
location /mail/ {
proxy_pass http://example.com:protmail/;
}
location /com/ {
proxy_pass http://example.com:portcom/main/;
}
location / {
proxy_pass http://example.com:portdefault;
}
}
}
以上的配置会按以下规则转发请求( GET 和 POST 请求都会转发):
将 http://example.com/mail/ 下的请求转发到 http://example.com:portmail/
将 http://example.com/com/ 下的请求转发到 http://example.com:portcom/main/
将其它所有请求转发到 http://example.com:portdefault/
需要注意的是,在以上的配置中,webdefault 的代理服务器设置是没有指定URI的,而 webmail 和 webcom 的代理服务器设置是指定了URI的(分别为 / 和 /main/)。
如果代理服务器地址中是带有URI的,此URI会替换掉 location 所匹配的URI部分。
而如果代理服务器地址中是不带有URI的,则会用完整的请求URL来转发到代理服务器。
官方文档描述:
If the URI is specified along with the address, it replaces the part of the request URI that matches the location parameter.
If the address is specified without a URI, or it is not possible to determine the part of URI to be replaced, the full request URI is passed (possibly, modified).
以上配置的转发示例:
http://example.com/mail/index.html -> http://example.com:portmail/index.html
http://example.com/com/index.html -> http://example.com:portcom/main/index.html
http://example.com/mail/static/a.jpg -> http://example.com:portmail/static/a.jpg
http://example.com/com/static/b.css -> http://example.com:portcom/main/static/b.css
http://example.com/other/index.htm -> http://example.com:portdefault/other/index.htm
转自:http://blog.csdn.net/tobacco5648/article/details/51099426
nginx请求转发被拒绝_nginx反向代理(请求转发-URL匹配规则)相关推荐
- 使用Nginx为TCP/WebSocket协议做反向代理和几个易踩的坑
通常,我们使用Nginx为后端WEB服务做反向代理或负载均衡,但如果我们的后端服务,并不是HTTP/HTTPS协议,而是TCP协议或WebSocket协议呢 最近遇到一个需求,我们的HTTPS以及MQ ...
- nginx反向代理+缓存开启+url重写+负载均衡(带健康探测)的部署记录
在日常运维工作中,运维人员会时常使用到nginx的反向代理,负载均衡以及缓存等功能来优化web服务性能. 废话不多说,下面对测试环境下的nginx反向代理+缓存开启+url重写+负载均衡(带健康探测) ...
- Tomcat高级部分-使用特定模块和软件反向代理请求到后端tomcat实现负载均衡和session保持...
实验目标: 1.反向代理服务器将用户请求负载均衡到后端tomcat节点: 2.配置基于nginx的负载均衡,实现会话绑定: 3.配置基于mod_jk的负载均衡,实现会话绑定: 4.基于mod_prox ...
- Laravel 和 Dcat Admin 在使用 Nginx 进行 Uri 二级目录的反向代理时遇到的问题以及解决方法
文章目录 问题 解决方法 改进 问题 一般的 Laravel 应用进行 Nginx 的 Uri 二级目录反向代理的时候,Nginx 的配置文件可按如下配置 location /prefix/ {set ...
- 【Nginx那些事】nginx配置实例(一)反向代理
[Nginx那些事]系列 [Nginx那些事]nginx 安装及常用指令 [Nginx那些事]Nginx 配置文件说明 [Nginx那些事]nginx原理解析 [Nginx那些事]nginx配置实例( ...
- nginx证书绑定及二级域名反向代理
两个需求,一是nginx绑定证书并反向代理http服务:二是二级域名的反向代理 一.nginx绑定证书并反向代理: 首先需要nginx服务器及证书,证书包括.pem证书文件和.key证 ...
- Nginx四层代理和7层反向代理
Nginx四层代理和7层反向代理 文章目录 Nginx四层代理和7层反向代理 Nginx四层代理配置 Nginx四层代理配置步骤 配置好两台Nginx七层代理服务器 在四层代理的Nginx服务器上做相 ...
- nginx反向代理(请求转发-URL匹配规则)
反向代理适用于很多场合,负载均衡是最普遍的用法. nginx 作为目前最流行的web服务器之一,可以很方便地实现反向代理. nginx 反向代理官方文档: NGINX REVERSE PROXY 当在 ...
- nginx 反向代理跨域访问配置_nginx反向代理配置去除前缀
使用nginx做反向代理的时候,可以简单的直接把请求原封不动的转发给下一个服务.设置proxy_pass请求只会替换域名,如果要根据不同的url后缀来访问不同的服务,则需要通过如下方法: 方法一:加& ...
最新文章
- 祝贺!又一批清华大学长聘教授,来了!
- 知识体系(不断更新)
- Docker - command in docker container
- hdu 5112 A Curious Matt
- C语言对结构体何时用- , 何时用.
- 开发分布式网络监控分析之前端ajax展现那些事
- 摆脱Wi-Fi信号干扰的对策
- 机器学习:维度灾难(Curse of Dimensionality)
- HenCoder Android 开发进阶:自定义 View 1-3 drawText() 文字的绘制
- oracle 中的Ipad()函数
- Linux驱动开发|电容触摸屏
- Centos系统安装踩坑
- python编程培训杭州
- photoshop ps 瘦身方法 液化工具
- 小米官宣:手表Color 2来了,6色多彩表带,你喜欢哪个?
- WindowsMessage
- uniapp web端 支付宝 微信使用当面付
- 36.DAC工作原理与配置
- 网上订餐系统设计与实现(JSP+SSM+MySQL)
- jupyter安装php,如何安装jupyter
热门文章
- OSGi环境中的Servlet基本身份验证
- macos big sur正式版_苹果macOS Big Sur正式版发布
- Java对象内存图一
- PL/SQL工具执行SQL脚本文件
- air java,Java Bean
- python回归预测例子_案例实战 | 逻辑回归实现客户流失预测(附Python代码与源数据)...
- 服务器皮肤在哪个文件里,服务器怎么使用皮肤
- elementui 进度条怎么做_小E,Excel中这样的进度条是怎么做出来的?
- python初学者用什么开发环境_python初学者用什么开发环境
- python数据分析方法和命令_《利用Python进行数据分析》 —— (1)