一 需求
使用 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 包含正则表达式,则必须要有 ~ 或者 ~* 标识。