nginx反向代理实例
通过一个例子演示一下nginx是如何代理服务的,并且讲一下nginx.conf的关于server模块和location模块的配置
server模块:配置虚拟主机的相关参数,一个http中可以有多个server
location模块:配置请求的路由,以及各种页面的处理情况
首先我在本地虚拟机安装了nginx和tomcat,启动后,此时可以使用虚拟机ip地址访问tomcat
虚拟机ip是:http://192.168.233.128
tomcat监听的端口是:8080
1.现在想通过nginx代理一下tomcat服务,使用nginx配置的虚拟主机地址来访问
(1)增加一个server 块,并在其中添加一个location快,如下
server {
listen ;
server_name localhost; location / { # 只有一个/后面没有路径,表示访问tomcat首页
proxy_pass http://localhost:8080;
# tomcat服务的路由 (因为我的nginx和tomcat部署在了同一台虚拟机,所以这里填的localhost,假如想代理其他服务器的服务,则填写程序所在服务器ip端口即可)
}
}
这样,在访问时,使用虚拟主机的ip+端口即可访问 http://192.168.233.128:8089/
(2)在原有server基础上添加一个location块,如下:
server {
listen ;
server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; # location / { #注意:把原来的根路径的location注释掉了,这个页面是跳转到nginx的首页,因为不允许出现2个一样的location路径,否则会报错“nginx: [emerg] duplicate location "/" in /usr/local/nginx/conf/nginx.conf:63”
# root html;
# index index.html index.htm;
#} location / { # 根路径
proxy_pass http://localhost:8080; # 请求转向本虚拟机的8080端口(即访问tomcat)
}
这次,直接使用虚拟机的ip即可访问tomcat首页:http://192.168.233.128(不需要加端口,因为是80端口)
2.在tomcat上部署了一个jenkins.war,通过nginx反向代理来访问
正常访问jenkins是:http://192.168.233.128:8080/jenkins
通过nginx代理,不加端口访问,只需在监听80端口的server块中添加一个location块
location /jenkins { # /jenkins表示要访问的路由下的路径
proxy_pass http://127.0.0.1:8080; # 请求转向本虚拟机的8080端口 proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr; #获取真实ip
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;#获取代理者的真实ip
proxy_redirect off;
}
配置完成后重启nginx,使用http://192.168.233.128/jenkins进行访问即可
3.代理部署在另一台服务器的程序,通过nginx所在服务器访问其服务
在监听80端口的server块中添加一个location块
location /ApprPhD { # 访问程序时需要在ip后添加的路径
proxy_pass http://192.168.0.XXX:30; # 请求转向XXX服务器上的服务,结合/ApprPhd,表示访问 http://192.168.0.XXX:30/ApprPhD
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr; #获取真实ip
proxy_set_header REMOTE-HOST $remote_addr;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;#获取代理者的真实ip
proxy_redirect off;
}
重启nginx服务后,使用如下链接访问:http://192.168.233.128/ApprPhD
nginx反向代理实例的更多相关文章
- linux之反向代理,反向代理实例,负载均衡实例
目录 nginx反向代理 1. 概述 2. 反向代理服务器的工作原理 (1)作为内容服务器的替身 (2)作为内容服务器的负载均衡器 二. nginx反向代理实例 1.前期准备 2.代理服务器配置 3. ...
- 实战 | 一文带你读懂Nginx反向代理
一个执着于技术的公众号 前言 在前面的章节中,我们已经学习了nginx基础知识: 给小白的 Nginx 10分钟入门指南 Nginx编译安装及常用命令 完全卸载nginx的详细步骤 Nginx 配置文 ...
- Nginx配置实例-反向代理实例:根据访问的路径跳转到不同端口的服务中
场景 Ubuntu Server 16.04 LTS上怎样安装下载安装Nginx并启动: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/detai ...
- Nginx反向代理配置配置实例
为了节省支出,公司需要将分布在不同机器的站点都迁移到一台机器,而目前不同机器运行的是不同的web服务,部分是nginx,部分是apache,由于牵涉较多rewrite规则,为了节省修改功夫,打算迁移后 ...
- Nginx反向代理websocket配置实例
最近有一个需求,就是需要使用 nginx 反向代理 websocket,经过查找一番资料,目前已经测试通过,本文只做一个记录 复制代码 代码如下: 注: 看官方文档说 Nginx 在 1.3 以后的版 ...
- nginx反向代理配置实例分享
nginx反向代理配置一例. 配置内容如下: user www www; worker_processes 8; error_log /usr/local/webserver/nginx/logs/n ...
- Nginx反向代理,负载均衡,redis session共享,keepalived高可用
相关知识自行搜索,直接上干货... 使用的资源: nginx主服务器一台,nginx备服务器一台,使用keepalived进行宕机切换. tomcat服务器两台,由nginx进行反向代理和负载均衡,此 ...
- nginx反向代理tomcat访问时浏览器加载失败,出现 ERR_CONTENT_LENGTH_MISMATCH 问题
问题说明:测试机上部署了一套业务环境,nginx反向代理tomcat,在访问时长时间处于加载中,十分缓慢! 通过浏览器调试(F12键->Console),发现有错误ERR_CONTENT_LEN ...
- nginx 反向代理 与 Apache backend的配置联合配置
nginx 反向代理 与 Apache backend的配置联合配置: 说明: nginx 将http映射到Apache上的特定子目录. 配置方法步骤: 1. 设置域名, 子域名映射到指定服务器ip ...
随机推荐
- Net SMTP QQ 发送邮件
调用DEMO var currUser = new List<string> { "123@qq.com" , "123@qq.com" , &qu ...
- android官方开发教程解释(一)
最近准备系统学一下android开发,这里不会照搬原文,只会针对教程中一些难以理解的部分进行解释,我只是个菜鸟. 在教程第一章——入门基础里面,讲解android主题的那个小节,大概会有以下的代码: ...
- ldap集成x-pack
ldap配置支持x-pack有两种格式: 1. User Search Mode 2. User DN Templates Mode 由于第一种方式需要明文填入ldap管理员账号信息,我这边采用第二 ...
- answerOpenCV轮廓类问题解析
contour在opencv中是一个基础的数据结构,灵活运用的话,作用很大.以contour为关键字,在answerOpenCV中能够发现很多有趣的东西. 1.无法解决的问题 http://answe ...
- CSS层叠样式表--找到标签
0 怎么学习CSS 1 CSS的四种引入方式 2 CSS的四种基本选择器 3 属性选择器 4 CSS伪类 5 CSS选择器优先级 6 CSS的继承性 怎么学习CSS 1.怎么找到标签(CSS选择器) ...
- LOJ#2452. 「POI2010」反对称 Antisymmetry
题目描述 对于一个 \(0/1\) 字符串,如果将这个字符串 \(0\) 和 \(1\) 取反后,再将整个串反过来和原串一样,就称作「反对称」字符串.比如 \(00001111\) 和 \(01010 ...
- .net core mvc 错误信息显示 ModelState.AddModelError
关于ModelState.AddModelError错误信息不在前端页面显示问题.经过一位高人指定终于知道了为什么,在次写着警示自己看文档一定要仔细.再次感谢这为兄弟 https://www.cnbl ...
- Balloons
题目链接:http://acm.sdibt.edu.cn/JudgeOnline/problem.php?id=2401 类似求连通块的问题,可以参考紫书(P162 油田),对这两个人分别执行dfs. ...
- HDU 6155 Subsequence Count(矩阵乘法+线段树+基础DP)
题意 给定一个长度为 \(n\) 的 \(01\) 串,完成 \(m\) 种操作--操作分两种翻转 \([l,r]\) 区间中的元素.求区间 \([l,r]\) 有多少个不同的子序列. \(1 \le ...
- 最受欢迎的前端框架 —— Bootstrap学习
Bootstrap是Twitter的Mark Otto和Jacob Thornton开发的,是目前最受欢迎的前端框架,它简单灵活,使得Web前端开发更加快捷方便. 首先,要基本掌握Bootstrap框 ...