nginx 反向代理实战二

x33g5p2x  于2021-12-27 转载在 其他  
字(1.0k)|赞(0)|评价(0)|浏览(298)

一 需求

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

nginx 监听端口为 9001。

当访问 http://192.168.17.129:9001/edu/  跳转到 127.0.0.1:8080

当访问 http://192.168.17.129:9001/vod/ 跳转到 127.0.0.1:8081

二 准备工作

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

8080端口,按常规方式配置。

8081端口,配置如下:
# 默认配置是8005

<Server port="8015" shutdown="SHUTDOWN">  

# 默认配置是8080

<Connector port="8081" prototal="HTTP/1.1"

# 默认配置是8009

<Connector port="8019" prototal="AJP/1.3" redirectPort="8443" />

2 创建文件夹和测试页面

a 准备的第一个文件

内容如下:

<h1>8080!!</h1>

b 准备的第二个文件

内容如下:

<h1>8081!!</h1>

三 实战

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

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

四 测试

当访问 http://192.168.17.129:9001/edu/a.html

当访问 http://192.168.17.129:9001/vod/a.html

五 location 指令说明

该指令用于匹配 URL。

语法如下:
localtion [ = | ~ | ~* | ^~ ] uri {

}

  • =  :用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求。
  • ~  :用于表示 uri 包含正则表达式,并且区分大小写。
  • ~* :用于表示 uri 包含正则表达式,并且不区分大小写。
  • ^~:用于不含正则表达式的 uri 前,要求 Nginx 服务器找到标识 uri 和请求字符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再使用 location 块中的正则 uri 和请求字符串做匹配。

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

相关文章