Java教程

ngixn配置反向代理(2)

本文主要是介绍ngixn配置反向代理(2),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

文章目录

  • 1、实现效果:
  • 2、备战
  • 3、修改 nginx 的配置文件
  • 补充:

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 的配置文件

增加红框中的配置:
在这里插入图片描述

# 本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 包含正则表达式,则必须要有 ~ 或者 ~* 标识。

这篇关于ngixn配置反向代理(2)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!