文章目录
1.反向代理介绍
客户端对代理是无感知的,只需将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,再返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址
2. 第一个实例
2.1 实现效果
浏览器访问
www.123.com
,访问nginx的地址,跳到tomcat
2.2 准备工作
(1) 在linux系统中安装tomcat,使用默认端口8080
下载tomcat安装包
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.70/bin/apache-tomcat-8.5.70.tar.gz
解压
tar -zxvf apache-tomcat-8.5.70.tar.gz
进入tomcat的bin目录,启动tomcat
cd bin
./startup.sh
对外开放访问的端口
firewall-cmd --add-port=8080/tcp --permanent
(2) 修改主机映射
在hosts文件中加上映射
PS:域名解析规则:主机先找到hosts文件中的映射,如果没有,就找网络上DNS
(3) 修改nginx配置
(4) 最终效果
3. 第二个实例
3.1 实现效果
使用nginx反向代理,根据访问的路径不同跳转到不同端口的服务中
nginx监听端口为9001
访问 http://127.0.0.1:9001/edu/ 直接跳转到127.0.0.1:8080
访问 http://127.0.0.1:8001/vod/ 直接跳转到127.0.0.1:8081
3.2.准备工作
3.2.1 准备两个tomcat
(1)修改service.xml配置文件
(2)开放8081端口
firewall-cmd --add-port=8080/tcp --permanent
(3)重启防火墙
service firewalld restart
3.2.2 创建文件夹和测试页面
在webapps下创建edu文件夹,放入html文件
3.3 具体配置
(1)找到nginx配置文件,进行反向代理配置
server {
listen 9001;
server_name 172.29.34.23;
location ~ /edu {
proxy_pass http://127.0.0.1:8080;
}
location ~ /vod {
proxy_pass http://127.0.0.1:8081;
}
}
(2)开放9001端口
(3)重启nginx
3.2.3 测试结果
附:location指令说明
该指令用于匹配URL。
语法如下:
- =: 用于不包含正则表达式的uri前,要求请求字符串与uri严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求
- ~:用于表示uri包含正则表达式,并且区分大小写
- ~* :*用于表示uri包含正则表达式,并且不区分大小写
- ^~: 用于不包含正则表达式的uri前,要求nginx服务器找到uri和请求字符串匹配度最高的location后,立即使用此location处理请求,而不再使用location块中的正则uri和请求字符串做匹配 注意:如果uri有正则表达式,必须有 ~* 或 ~
版权归原作者 你似sei啊a 所有, 如有侵权,请联系我们删除。