1、反向代理实例 1
1.1)实现效果
打开浏览器,在浏览器地址栏输入地址 www.123.com,跳转到 liunx 系统 tomcat 主页面中
1.2)将 准备的tomcat 安装文件放到 liunx 系统中
1.3)解压并启动tomcat(注意防火墙的开放,这里已经提前开放了端口)
解压命令:tar -zxvf apache-tomcat-8.5.37.tar.gz
1.4)效果
1.5)访问过程的分析(我这里的ip地址是192.168.56.20)
1.6)首先配置nginx的配置,找到nginx.conf文件,我这里是在/opt/nginx/conf下
在 nginx 进行请求转发的配置(反向代理配置)1.7)重新启动 nginx,加载修改的配置文件
命令:nginx -s reload
1.8)配置本地的hosts
1.9)测试访问
![]()
2、反向代理实例 2
2.1)实现效果
使用 nginx 反向代理,根据访问的路径跳转到不同端口的服务中,
nginx 监听端口为 9001
- 访问 http://192.168.56.20:9001/edu/ 直接跳转到 192.168.56.20:8080
- 访问 http:// 192.168.56.20:9001/vod/ 直接跳转到 192.168.56.20:8081
2.2)准备两个tomcat,一个8080端口,一个8081端口(自行配置)
创建文件夹和测试页面,说明:tomcat 加载是加载的 webapps 中的东西,所以放在该文件夹下 ,分别在两个tomcat的
webapps
中,新建 edu和vod 文件夹,并在该文件夹下新建文件 a.html,内容分别是<h1>8080</h1>
<h1>8081</h1>
重启启动tomcat,再次访问
![]()
2.3)找到 nginx 配置文件,进行反向代理配置
三处改变:监听端口 + nginx地址 + 转发地址
2.4)重启启动nginx,加载配置文件
命令:nginx -s reload
2.5)测试
![]()
3、location 指令说明
该指令用于匹配 URL。
语法如下:
1、= :用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求。
2、~:用于表示 uri 包含正则表达式,并且区分大小写。
3、~*:用于表示 uri 包含正则表达式,并且不区分大小写。
4、^~:用于不含正则表达式的 uri 前,要求 Nginx 服务器找到标识 uri 和请求字符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再使用 location 块中的正则 uri 和请求字符串做匹配。
**注意:*如果 uri 包含正则表达式,则必须要有 ~ 或者 ~ 标识。