nginx 反向代理之 proxy_pass的实现
格式很简单: proxy_pass URL;
其中URL包含:传输协议(http://, https://等)、主机名(域名或者IP:PORT)、uri。
示例如下:
proxy_pass http://www.xxx.com/; proxy_pass http://192.168.200.101:8080/uri; proxy_pass unix:/tmp/www.sock;
对于proxy_pass的配置有几种情况需要注意:
假设server_name为www.xxx.com
当请求http://www.xxx.com/aming/a.html的时候,以上示例分别访问的结果是
示例1:
location /aming/ { proxy_pass http://192.168.1.10; ... }
结果1:http://192.168.1.10/aming/a.html
示例2:
location /aming/ { proxy_pass http://192.168.1.10/; ... }
结果2:http://192.168.1.10/a.html
示例3:
location /aming/ { proxy_pass http://192.168.1.10/linux/; ... }
结果3:http://192.168.1.10/linux/a.html
示例4:
location /aming/ { proxy_pass http://192.168.1.10/linux; ... }
结果4:http://192.168.1.10/linuxa.html
总结:
为了方便记忆和规范配置,建议所有的 proxy_pass 后的url都以“/”结尾。
proxy_pass http://192.168.1.10/linux/;
到此这篇关于nginx 反向代理之 proxy_pass的实现的文章就介绍到这了,更多相关nginx 反向代理 proxy_pass内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
nginx proxy_pass反向代理配置中url后加不加/的区别介绍
前言 nginx作为web服务器一个重要的功能就是反向代理.nginx反向代理的指令不需要新增额外的模块,默认自带proxy_pass指令,只需要修改配置文件就可以实现反向代理. 而在日常的web网站部署中,经常会用到nginx的proxy_pass反向代理,有一个配置需要弄清楚:配置proxy_pass时,当在后面的url加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走;如果没有/,则会把匹配的路径部分也给代理走(这样配置可以参考这篇文章). 下面举个小实
-
Nginx服务器的反向代理proxy_pass配置方法讲解
就普通的反向代理来讲 Nginx的配置还是比较简单的,如: location ~ /* { proxy_pass http://127.0.0.1:8008; } 或者可以 location / { proxy_pass http://127.0.0.1:8008; } Apache2的反向代理的配置是: ProxyPass /ysz/ http://localhost:8080/ 然而,如果要配置一个相对复杂的反向代理 Nginx相对Apache2就要麻烦一些了 比如,将url中以/wap/开
-
nginx 反向代理之 proxy_pass的实现
格式很简单: proxy_pass URL; 其中URL包含:传输协议(http://, https://等).主机名(域名或者IP:PORT).uri. 示例如下: proxy_pass http://www.xxx.com/; proxy_pass http://192.168.200.101:8080/uri; proxy_pass unix:/tmp/www.sock; 对于proxy_pass的配置有几种情况需要注意: 假设server_name为www.xxx.com 当请求http
-
Nginx反向代理location和proxy_pass配置规则详细总结
目录 一.location配置规则 1.匹配模式及顺序举例 2.location 是否以“/”结尾 二.proxy_pass配置规则 补充:Nginx配置proxy_pass转发的/路径问题 总结 一.location配置规则 1.匹配模式及顺序举例 location = /uri = 开头表示精确匹配,只有完全匹配上才能生效 location ^~ /uri ^~ 开头对 URL 路径进行前缀匹配,并且在正则之前 location ~ pattern ~ 开头表示区分大小写的正则匹配 lo
-
Nginx反向代理一个80端口下配置多个微信项目详解
Nginx反向代理一个80端口下配置多个微信项目详解 我们要接入微信公众号平台开发,需要填写服务器配置,然后依据接口文档才能实现业务逻辑.但是微信公众号接口只支持80接口(80端口).我们因业务需求需要在一个公众号域名下面,发布两个需要微信授权的项目,怎么办? 我们可以用nginx服务器做反向代理来解决这个问题.nginx服务器对外80端口,然后根据URL参数不同,对内访问不同的项目. nginx配置如下: 打开/usr/local/nginx/conf/nginx.conf worker_pr
-
Nginx反向代理websocket配置实例
最近有一个需求,就是需要使用 nginx 反向代理 websocket,经过查找一番资料,目前已经测试通过,本文只做一个记录 复制代码 代码如下: 注: 看官方文档说 Nginx 在 1.3 以后的版本才支持 websocket 反向代理,所以要想使用支持 websocket 的功能,必须升级到 1.3 以后的版本,因此我这边是下载的 Tengine 的最新版本测试的 1.下载 tengine 最近的源码 复制代码 代码如下: wget http://tengine.taobao.org/dow
-
利用python自动生成docker nginx反向代理配置
利用python自动生成docker nginx反向代理配置 由于在测试环境上用docker部署了多个应用,而且他们的端口有的相同,有的又不相同,数量也比较多,在使用jenkins发版本的时候,不好配置,于是想要写一个脚本,能在docker 容器创建.停止的时候,自动生成nginx反向代理,然后reload nginx 我的原则是尽量简单,轻量,内存占用少 目标很明确,只要能监听到docker的容器启动/停止事件,即可 网上查了一下可以用docker events来监听docker事件,试了一下
-
使用Nginx 反向代理来避免 ajax 跨域请求的方法
服务器上 nginx + tomcat ,其中 nginx 监听 80 端口, tomcat 监听 8080 端口. 因为对前端不熟悉,以为用 ajax 就可以不需要 callback ,然而前端的同学说不跨域的情况下才不需要 callback ,让我在返回的 json 里加上.可是我刚刚学会了最基本的 spring-mvc 用法,根本不知道怎么加上 callback 网上到时找到一些可行的代码,差不多这个样子: @RequestMapping(method=RequestMethod.GET,
-
LINUX中NGINX反向代理下的TOMCAT集群(详解)
Nginx具有反向代理(注意和正向代理的区别)和负载均衡等特点. 这次Nginx安装在 192.168.1.108 这台linux 机器上.安装Nginx 先要装openssl库,gcc,PCRE,zlib库等. Tomcat 安装在192.168.1.168 和 192.168.1.178 这两台机器上.客户端通过访问192.168.1.108 反向代理访问到 192.168.1.168 和 192.168.1.178 里Tomcat 部署的工程内容. 1.Linux 下安装Nginx (机器
-
详解Nginx反向代理和负载均衡部署指南
Nginx反向代理和负载均衡部署指南,具体如下: 1. 安装 1) 从Nginx官网下载页面(http://nginx.org/en/download.html)下载Nginx最新版本(目前是1.5.13版本)安装包: 2) 解压后复制到部署目录. 2. 启动和停止Nginx Nginx目前只支持命令行操作,操作前先进入Dos命令环境,并进入Nginx部署目录. 1) 启动Nginx:start nginx 2) 停止Nginx:nginx -s stop 3)修改配置后重启:nginx
-
Nginx 反向代理并缓存及缓存清除的方法
本文介绍了Nginx 反向代理并缓存及缓存清除的方法,分享给大家,具体如下: 一. Nginx 配置 #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { log_form
-
nginx反向代理用做内网域名转发
由于公司内网有多台服务器的http服务要映射到公司外网静态IP,如果用路由的端口映射来做,就只能一台内网服务器的80端口映射到外网80端口,其他服务器的80端口只能映射到外网的非80端口.非80端口的映射在访问的时候要域名加上端口,比较麻烦.并且公司入口路由最多只能做20个端口映射. 肯定以后不够用. 然后发现可以在内网搭建一个nginx反向代理服务器,将nginx反向代理服务器的80映射到外网IP的80,这样指向到公司外网IP的域名的HTTP请求就会发送到nginx反向代理服务器,利用ngin
随机推荐
- 读懂正则表达式就这么简单
- PHP实现的一个保存远程文件到本地的函数分享
- 在centos7下安装python3的步骤
- Linux上安装搭建Nginx服务器的详细步骤
- js限制文本框只能输入中文的方法
- asp.net中virtual和abstract的区别分析
- Fiddler如何抓取手机APP数据包
- Android中传递对象的三种方法的实现
- asp.net下日期加减的方法
- Android开发中Eclipse报错及对应处理方法总结
- PHP Opcache安装和配置方法介绍
- JQuery操作textarea,input,select,checkbox方法
- js中对象的声明方式以及数组的一些用法示例
- Linux crontab定时任务配置方法(详解)
- 彻底理解Java中的ThreadLocal
- Android添加(创建)、删除及判断是否存在桌面快捷方式的方法
- ASP.NET MVC 项目直接预览PDF文件
- C++提取文件中信息的方法
- Vue2.0用户权限控制解决方案
- Python random模块用法解析及简单示例