ngixn配置反向代理(2)

文章目录

1、实现效果:

192.168.25.216 为虚拟机,安装了nginx。

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

  • 访问 http://192.168.25.216 :9001/edu/ 直接跳转到 192.168.25.216:8081
  • 访问 http://192.168.25.216 :9001/vod/ 直接跳转到 192.168.25.216:8082

2、备战

第一步,准备两个 tomcat,一个 8001 端口,一个 8002 端口,并可以正常访问两个tomcat的首页。

3、修改 nginx 的配置文件

增加红框中的配置:
ngixn配置反向代理(2)

# 本server块监听本机192.168.25.216 的80端口:
 server {
        listen       80;
        server_name  192.168.25.216;

        location / {
            root   html;
            proxy_pass http://127.0.0.1:8080
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
# 本server块监听本机192.168.25.216 的9001端口:
 server {
        listen       9001;
        server_name  192.168.25.216;

        location ~ /edu/ {
            proxy_pass http://127.0.0.1:8081
        }
        location ~ /vod/ {
            proxy_pass http://127.0.0.1:8082
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

配置完成,保存。重启nginx,即可完成实验效果。

补充:

location 指令说明
该指令用于匹配 URL。

语法:
location [ = | ~ | ~* |^~] /uri/ { … }

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

上一篇:Spring MVC入门(二)—— URI Builder模式


下一篇:Accept header could not be properly parsed because of a strict matching process