Nginx——反向代理

通过Nginx来实现反向代理,具体配置实例如下所示:

一、反向代理实例一

1、目标

在浏览器地址栏输入www.test.com,可跳转到linux系统tomcat的主页面中。

2、前置工作

(1)在linux系统中安装tomcat,使用默认端口8080

  • tomcat安装文件apache-tomcat-7.0.70.tar.gz放到linux系统中,通过tar -zxvf apache-tomcat-7.0.70.tar.gz解压;
  • 进入tomcat的bin目录中,通过命令../startup.sh启动tomcat服务器

(2)开通对外访问的端口,具体命令如下

  • 关闭防火墙:service iptables stop
  • 开放tomcat默认访问端口8080,进入/etc/sysconfig/iptables文件,在该文件中添加如下内容:-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
  • 重启防火墙:service iptables restart

(3)在Windows系统中通过浏览器访问tomcat服务器

3、访问过程

4、具体配置过程

 (1)在Windows系统的host文件进行域名和IP对应关系的配置

进入C:\Windows\System32\drivers\etc目录,编辑hosts文件,添加如下内容:

192.168.17.129 www.test.com

(2)在Nginx中进行请求转发的配置(反向代理配置)

 5、效果演示

 

二、反向代理实例二

1、目标

使用Nginx反向代理,根据访问的路径跳转到不同端口的服务中,Nginx监听端口9001,

访问http://192.168.202.128:9001/htzw/test.html 直接跳转到127.0.0.1:8080

访问http://192.168.202.128:9001/tianhui/test.html直接跳转到127.0.0.1:8081

2、前置工作

按照上面的步骤准备两个tomcat,一个开放端口8080,一个开放端口8081,分别在两个tomcat中的webapps下准备测试页面

3、具体配置过程

修改Nginx的配置文件,在http块中添加server{},具体内容如下:

 

 

4、location指令说明

location指令用于匹配URL,具体语法如下:

location [=|~|~*|^~] uri {

}

 注:如果url包含正则表达式,则必须要有~或者~*标识

=用于不含正则表达式的url前,要求请求字符串与url严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求
~用于表示url包含正则表达式,并且区分大小写
~*用于表示url包含正则表达式,并且不区分大小写
^~

1、用于不含正则表达式的url前,要求Nginx服务器找到标识url和请求字符串匹配度最高的location后,立即使用此location处理请求,而不再使用location块中的正则url和请求字符串做匹配

2、^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录

 

location  = / {
  # 只匹配"/".
  [ configuration A ] 
}
location  / {
  # 匹配任何请求,因为所有请求都是以"/"开始
  # 但是更长字符匹配或者正则表达式匹配会优先匹配
  [ configuration B ] 
}
location ^~ /images/ {
  # 匹配任何以 /images/ 开始的请求,并停止匹配 其它location
  [ configuration C ] 
}
location ~* .(gif|jpg|jpeg)$ {
  # 匹配以 gif, jpg, or jpeg结尾的请求. 
  # 但是所有 /images/ 目录的请求将由 [Configuration C]处理.   
  [ configuration D ] 
}
请求URI例子:

/ -> 符合configuration A
/documents/document.html -> 符合configuration B
/images/1.gif -> 符合configuration C
/documents/1.jpg ->符合 configuration D

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值