Nginx 反向代理实例

197 阅读2分钟

1. 实现效果

打开浏览器,在浏览器地址栏输入地址 www.123.com 跳转 liunx 系统 tomcat 主页面中

2. 准备工作

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

  • tomcat 安装文件放到 liunx 系统中,解压

  • 进入 tomcat 的 bin 目录中,./startup.sh 启动 tomcat 服务器

(2)对外开放访问的端口

  • firewall-cmd --add-port=8080/tcp --permanent

  • firewall-cmd –reload

  • 查看已经开放的端口号 firewall-cmd --list-all

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

3.访问过程的分析

image.png

4.具体配置

第一步 在 windows 系统的 host 文件进行域名和 ip 对应关系的配置

image.png

添加内容在 host 文件中

image.png

第二步 在 nginx 进行请求转发的配置(反向代理配置)

image.png

5.最终测试

image.png

反向代理实例2

1.实现效果

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

nginx 监听端口为 9001,

访问 http://ip:9001/edu/  直接跳转到 127.0.0.1:8080

访问 http://ip:9001/vod/  直接跳转到 127.0.0.1:8081

2.准备工作

(1)准备两个 tomcat 服务器,一个 8080 端口,一个 8081 端口

(2)创建文件夹和测试页面

3.具体配置

(1)找到 nginx 配置文件,进行反向代理配置

1647940765(1).png

(2)开放对外访问的端口号 9001 8080 8081

4.最终测试

image.png

image.png

location 指令说明

该指令用于匹配URL

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

}

1、 = : 用于不含正则表达式的uri 前,要求请求字符串与uri严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求。

2、 ~ :用于表示uri 包含正则表达式,并且区分大小写。

3、 ~* : 用于表示uri 包含正则表达式,并且不区分大小写。

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

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