nginx反向代理配置
最近在项目中使用nginx反向代理,根据不同的请求路径,将请求分发到不同服务。下面的示例主要完成如下功能
- /prod/路径的请求分发到prod服务
- /test/路径的请求分发到test服务
创建文件夹:/root/web/prod,/root/web/test;分别上传一个index.html文件,文件内容分别为:prod, test。
配置反向代理
修改/usr/local/nginx/conf/nginx.conf文件,在http节点下新增如下两个节点:
//模拟prod服务
server {
listen ;
server_name localhost; location / {
root /root/web/prod;
}
} //模拟test服务
server {
listen ;
server_name localhost; location / {
root /root/web/test;
}
}
nginx反向代理主要使用指令“proxy_pass”,反向代理服务节点配置如下,
server {
listen ;
server_name localhost; location / {
root html;
index index.html index.htm;
} location /prod/ {
proxy_pass http://localhost:8081/;
} location /test/ {
proxy_pass http://localhost:8082/;
}
}
保存修改后的配置文件,重新加载nginx.conf文件
/usr/local/nginx/sbin/nginx -s reload;
在浏览器中访问:http://ip/prod, htpp://ip/test, 分别显示prod, test字符串。
proxy_pass根据path路径转发时的"/"问题记录
在nginx中配置proxy_pass时,如果是按照^~匹配路径时,要注意proxy_pass后的url最后的/。当加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走;如果没有/,则会把匹配的路径部分也给代理走
location /prod/ {
proxy_pass http://localhost:8081/;
}
如上面的配置,如果请求的url是http://ip/prod/1.jpg会被代理成http://localhost:8081/1.jpg
location /prod/ {
proxy_pass http://localhost:8081;
}
如上面的配置,如果请求的url是http://ip/prod/1.jpg会被代理成http://localhost:8081/prod/1.jpg
在使用proxy_pass进行反向代理配置时,一定要多注意是否需要加"/",该问题已经犯了很多次了,切忌,特别感谢如下参考的文章:proxy_pass根据path路径转发时的"/"问题记录
参考文章
nginx反向代理配置的更多相关文章
- nginx反向代理配置及优化
nginx反向代理配置及优化前言: 由于服务器apache抗不住目前的并发.加上前端squid配置后,问题依然无法解决.而页面程序大部分是动态.无法使用fastcgi来处理.因此想使用nginx做为反 ...
- nginx反向代理配置实例分享
nginx反向代理配置一例. 配置内容如下: user www www; worker_processes 8; error_log /usr/local/webserver/nginx/logs/n ...
- 使用python自动生成docker nginx反向代理配置
由于在测试环境上用docker部署了多个应用,而且他们的端口有的相同,有的又不相同,数量也比较多,在使用jenkins发版本的时候,不好配置,于是想要写一个脚本,能在docker 容器创建.停止的时候 ...
- Nginx反向代理配置可跨域
由于业务需要,同一项目中的前端代码放在静态环境中,而后端代码放在tomcat中,但此时问题却出现了:前端使用ajax请求后端获取数据时出现如下报错 XMLHttpRequest cannot load ...
- Nginx反向代理配置配置实例
为了节省支出,公司需要将分布在不同机器的站点都迁移到一台机器,而目前不同机器运行的是不同的web服务,部分是nginx,部分是apache,由于牵涉较多rewrite规则,为了节省修改功夫,打算迁移后 ...
- Linux 下的 Nginx 反向代理配置.
最近实践中遇到了需要利用 nginx 进行反向代理服务器请求的需求,以前没怎么碰触过,因此花了1个多小时,快速阅览了一下nginx官网在反向代理服务中给出的基本定义: 说实话,官网给予的定义是精准的, ...
- nginx反向代理配置两个不同服务器
1.什么是反向代理通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中由代理服务器向Inter ...
- Nginx反向代理配置教程(php-fpm)
1.安装nginx http://www.cnblogs.com/lsdb/p/6543441.html 2.安装php-fpm yum install -y php-fpm 3.配置Nginx反向代 ...
- nginx 反向代理配置 upstream
最近项目要写后台,用nodejs写服务接口,然后研究了下nginx反向代理,各种坑下来,也总算把代理配了下来. 我本地用nodejs起了两个服务,一个端口是8888,一个端口是8889,在启动ngin ...
随机推荐
- S/4 HANA中的数据库锁策略
S4中的新的MM数据模型以及HANA的Insert-only特性允许物料凭证的并行处理,提高了相关的吞吐量.由此,数据库锁的应用情况也发生了变化.下文将介绍这些变化(基于S4 1610). 本文链接: ...
- Spring提取@Transactional事务注解的源码解析
声明:本文是自己在学习spring注解事务处理源代码时所留下的笔记: 难免有错误,敬请读者谅解!!! 1.事务注解标签 <tx:annotation-driven /> 2.tx 命名空间 ...
- 究竟谁在绑架中国的4G政策?
2009年中国正式发放3G牌照以来,尽管在开始阶段受到了应用不足的困扰,但是随着智 能手机的迅速推广,3G移动通信也开始在中国得到了飞速的发展.就在消费者以及市场 逐步接受并广泛应用该技术之际,4G通 ...
- 把封装脚本做成jar包
前提: eclipse, selenium, maven 把二次封装过的脚本做成jar包, 这样可以在新建工程里也调用封装过的方法. 实现步骤: 1. project 右键 => maven = ...
- MAC下的mysql忘记密码该怎么办??
不要着急,不要慌,好多人会忙手忙脚,以为自己安装了一个假软件,其实是你打开的方式不对而已! step1: 苹果->系统偏好设置->最下边点mysql 在弹出页面中 关闭mysql服务(点击 ...
- AJAX初步学习
AJAX(Asynchronous JavaScript and XML)即异步的JavaScript与XML技术,指的是一套综合了多项技术的浏览器端网页开发技术.其实就是为了解决传统页面同步刷新,消 ...
- 【NOIP模拟赛】随
题目链接: 172.18.111.252:800/problem.php?cid=1001&pid=0 题解: 膜达神……(NOIP考这个就等爆零吧……) 显然我们得到一个结论:$ans=\s ...
- BZOJ_1552_[Cerc2007]robotic sort_splay
BZOJ_1552_[Cerc2007]robotic sort_splay 题意: 分析: splay维护区间操作 可以先把编号排序,给每个编号分配一个固定的点,映射过去 查找编号的排名时先找到这个 ...
- Ceilometer + Aodh + Gnocchi 介绍
一. Ceilometer 1. 概述 Openstack ceilometer主要用于监控虚拟机.服务(glance.image.network等)和事件.虚拟机的监控项主要包括CPU.磁盘 ...
- 常用 Linux 命令的基本使用
常用 Linux 命令的基本使用 操作系统 作用:管理好硬件设备,让软件可以和硬件发生交互类型 桌面操作系统 Windows macos linux 服务器操作系统 linux Windows ser ...