Nginx专题(三)-Nginx配置实例-反向代理

1.反向代理实例一

实现效果:使用nginx反向代理,访问www.123.com直接跳转到122.51.50.249:8080

1.1.实验代码

1)启动一个 tomcat,浏览器地址栏输入 122.51.50.249:8080,出现如下界面
Nginx专题(三)-Nginx配置实例-反向代理_第1张图片
2)通过修改本地 host文件,将 www.123.com映射到 122.51.50.249
Nginx专题(三)-Nginx配置实例-反向代理_第2张图片
配置完成之后,我们便可以通过 www.123.com:8080访问到第一步出现的 Tomcat初始界
面。那么如何只需要输入 www.123.com便可以跳转到 Tomcat初始界面呢?
便用到 nginx的反向代理。
Nginx专题(三)-Nginx配置实例-反向代理_第3张图片

    server {
        listen       80;
        server_name  www.123.com;

        location / {
            #root   html;
			proxy_pass http://122.51.50.249:8080;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
       
    }

重新启动nginx:
在这里插入图片描述
如上配置,我们监听80端口,访问域名为www.123.com,不加端口号时默认为80端口,故访问该域名时会跳转到122.51.50.249:8080路径上。在浏览器端输入www.123.com结果如下:
Nginx专题(三)-Nginx配置实例-反向代理_第4张图片

2.反向代理实例二

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

访问 http://122.51.50.249:9001/edu/直接跳转到122.51.50.249:8080
访问 http://122.51.50.249:9001/vod/直接跳转到122.51.50.249:8090

2.1.实验代码

第一步,准备两个tomcat,一个8080端口,一个8090端口,并准备好测试的页面
Nginx专题(三)-Nginx配置实例-反向代理_第5张图片
Nginx专题(三)-Nginx配置实例-反向代理_第6张图片
第二步,修改nginx的配置文件
在http块中添加server{}

 server {

     listen       9001;
     server_name  www.123.com;


     location ~ /edu/ {
         #root   html;
         proxy_pass http://122.51.50.249:8080;
         index  index.html index.htm;
     }

    location ~ /vod/ {
         #root   html;
         proxy_pass http://122.51.50.249:8090;
         index  index.html index.htm;
     }
    
 }

Location匹配规则
Nginx专题(三)-Nginx配置实例-反向代理_第7张图片

模式 含义
location = /uri = 用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求
location ^~ /uri ^~ 开头对URL路径进行前缀匹配,并且在正则之前。
location ~ pattern 用于表示 uri 包含正则表达式,并且区分大小写。
location ~* pattern 用于表示 uri 包含正则表达式,并且不区分大小写。
location / 通用匹配,任何未匹配到其它location的请求都会匹配到,相当于switch中的defaut

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

测试访问
Nginx专题(三)-Nginx配置实例-反向代理_第8张图片
Nginx专题(三)-Nginx配置实例-反向代理_第9张图片

你可能感兴趣的:(Nginx专题)