Nginx反向代理
                                                                                                作者:尹正杰
 
版权声明:原创作品,谢绝转载!否则将追究法律责任。
 
 
 
欢迎加入:高级运维工程师之路 598432640 
前言:
说道NGINIX的反向代理我不得不说一下正向代理:
在实际生产环境中,公司可能在路由器上做了行为管理,比如不能让你们访问淘宝,京东网站之类的,或者一些外国的网站等等。
 
 

我们可以从图中可以看出网关路由不能访问的网络是欧美等网站,但是外网服务器是可以访问的,我们就可以在客户端配置一下代理服务器,这样我们就可以去访问一些我们无法访问的地址了。
好了,了解了正向代理,那么反向代理就更简单了:
 

 
外网用户访nginx这台服务器,需要访问的一些内容,在这个服务器上压根没有,但是这些东西在别的服务器上server1~3却是有的,于是nginx把用户想要访问的内容分发给对应的后台server,将最终的结果返回个用户,而用户对这个过程全然不知!
 
为什么要做反向代理:
 
我司用的是H3C ER8300-GX-X路由器,总体感觉起来还是蛮好使的!界面也还不错~相比其他几款企业路由器而言!但是我不得不吐槽的是竟然支持20个端口映射,由于业务需要,我不能每个人都给他一个公网ip,为了给公司节省成本,我就研究了一下ngxin.现在的我可以映射65535个主机了,是不是瞬间有种屌丝逆袭高富帅的节奏···(然而并没有~)
 
 
下面让我们进入正题吧:
1.我采用的是Centos6.6的内核系统,拥有一块网卡。
 

2.这个服务器必须可以上网,并且有单独的公网地址(我用路由器做了1对1NAT)!
 

(这个就是把公网地址的所有端口映射到一个私网地址上了)
3.安装Nginx.
这个安装比较简单,如果您不会的话建议去我的博客里面写的有相应的安装步骤
http://www.cnblogs.com/yinzhengjie/p/6055242.html
4.配置nginx
如果您是参考我的链接部署好nginx的话就可以到相应的配置文件目录去修改相应的配置
 
cd /usr/local/nginx/conf/                   #到nginx的安装目录去
 
cp nginx.conf nginx.conf.`date +%F`           #备份一下初始默认文件,以便后期修改
位了实验比较明显,我重写了配置文件:源文件可以参考您备份的哟:
[root@bogon conf]# more nginx.conf
worker_processes 2;
events {
     worker_connections 1024;
}
http {
    include  mime.types;
    default_type application/octet-stream;
    sendfile on;
    keepalive_timeout 65;
    server {           #创建虚拟主机
       listen     8188;    #监听本机端口
       server_name 106.120.244.111; 监听地址
       location / {
               proxy_pass http://192.168.2.103:8088; #代理服务器
              }
       }
    server {
       listen     10050;
       server_name 106.120.244.111;
       location / {
               proxy_pass http://172.30.1.86/zabbix/;#这个zabbix后面不要加index
              }
       }
}
[root@bogon conf]#
这是我做实验的2个地址,服务器就算是配置完毕了!
 
5.验证nginx配置结果:
 
内外访问结果:
外网访问结果: 
 
验证zabbix的时候我曾经写错了配置文件,我开始是这样写的:
 

 
 
访问结果:
 
 

正确的配置环境:
 

 
实验结果:
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 感言:其实我这里演示的只是nginx的冰山一角,如果后期工作中还会遇到的话我会更新的,与大家一起共享成功的喜悦!
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

NGINX反向代理的更多相关文章

  1. 使用python自动生成docker nginx反向代理配置

    由于在测试环境上用docker部署了多个应用,而且他们的端口有的相同,有的又不相同,数量也比较多,在使用jenkins发版本的时候,不好配置,于是想要写一个脚本,能在docker 容器创建.停止的时候 ...

  2. Nginx反向代理,负载均衡,redis session共享,keepalived高可用

    相关知识自行搜索,直接上干货... 使用的资源: nginx主服务器一台,nginx备服务器一台,使用keepalived进行宕机切换. tomcat服务器两台,由nginx进行反向代理和负载均衡,此 ...

  3. Nginx反向代理部署指南

    一.反向代理 我们都知道,80端口是web服务的默认端口,其他主机访问web服务器也是默认和80端口进行web交互,而一台服务器也只有一个80端口,这是约定俗成的标准. 我们来看下面两个场景: 1.服 ...

  4. Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解

    转载:http://freeloda.blog.51cto.com/2033581/1288553 大纲 一.前言 二.环境准备 三.安装与配置Nginx 四.Nginx之反向代理 五.Nginx之负 ...

  5. Nginx反向代理和负载均衡

    一.Nginx反向代理设置 从80端口转向其他端口反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的 ...

  6. nginx 反向代理

    nginx 反向代理 vim nginx.conf http { ..... upstream "tomcatweb" { server 172.30.13.199:8080; s ...

  7. 关于nginx反向代理后获取不到客户端的真实ip地址问题

    前段时间在我的网站上用nginx做了一下反向代理,最近发现不能获取客户端ip了,都是拿到的127.0.0.1的本地ip... 通过查资料后,再去看了看我的配置文件,结果发现我没有如下配置: nginx ...

  8. Nginx反向代理配置可跨域

    由于业务需要,同一项目中的前端代码放在静态环境中,而后端代码放在tomcat中,但此时问题却出现了:前端使用ajax请求后端获取数据时出现如下报错 XMLHttpRequest cannot load ...

  9. Nginx反向代理搭建配置

    1.反向代理方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将服务器上得到的结果返回给internet 上请求连接的客户端,此时代理服务器对外就表现为一个 ...

  10. nginx反向代理docker registry报”blob upload unknown"解决办法

    问题症状:keepalived+nginx反向代理后端docker registry群集时,使用docker客户机向registry push镜像时出现 "blob upload unkno ...

随机推荐

  1. ajax参数传递时中文乱码问题

    ajax传递参数时,一般就是js向程序页面传递和程序向js文件传递两种情况,当出现中文汉字时,会出现乱码. 因为存在上述两种情况,所以解决起来也要分开对待. 这里是php系统中遇到的问题,所以以php ...

  2. embody the data item with the ability to control access to itself

    Computer Science An Overview _J. Glenn Brookshear _11th Edition Such communication needs have long b ...

  3. Freemarker的初次使用之FTL标签嵌套与map的使用

    入职第二周了,在熟悉了公司自动化测试脚本的编写(使用什么数据库,使用哪种语言,框架带了哪些方法)后,现在开始熟悉模拟器,我们把请求发到服务器1,服务器1根据请求参数处理后将结果发给模拟器,模拟器根据服 ...

  4. 关于pom.xml的一些问题的理解

    最近在pom上出了一些问题,搞了一天才理解了一些问题,记录一下. 当在覆盖本地repository包之后,pom.xml上面出现了一个x. 当mvn->update project之后,还是有许 ...

  5. win7下vs2010编译生成sqlite3.dll库

    http://blog.csdn.net/qing666888/article/details/53582262 http://download.csdn.net/detail/qing666888/ ...

  6. iOS Block传值

    上个月,针对block恶补了一下,以为自己全部掌握了,其实不尽然. 昨天项目中在下载的时候用到,自己竟然不知道该从何下手,惭愧~ 情景是这个样子的:我写了个下载类,阴老师在调用时,将参数(sid,UR ...

  7. js跳转方法

    很有用的东西,参考自http://www.zhuoda.org/lunzi/66097.html 第一种 <script language="javascript" type ...

  8. c# ini file

    ini文件主要用于保存配置.之前一直以为是当作普通文本进行操作,读取里面的内容,再自己解析读取的文本.后来发现已经有写好的api函数:WritePrivateProfileString()和GetPr ...

  9. ByteBuffer

    1.堆内:HeapByteBuffer,在java的堆内创建. 缺点:可能引起堆的不断gc 写文件的时候需要先将堆的buffer写进直接buffer里,然后再写入文件 2.堆外:DirectByteB ...

  10. SpringMVC自动扫描@Controller注解的bean

    若要对@Controller注解标注的bean进行自动扫描,必须将<context:component-scan base-package="包路径.controller"/ ...