location的使用规则

在这里插入图片描述
1、基于URL的location 负责均衡配置

  • 后端集群中的web服务器,必须要有对应的目录和文件才能被访问到
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;


 upstream default_pool {
    server 10.0.0.7:80  weight=1;
    server 10.0.0.8:80  weight=1;
}

 upstream bbs_pool {
    server 10.0.0.7:8080  weight=1;
    server 10.0.0.8:8080  weight=1;
}

 upstream blog_pool {
    server 10.0.0.7:8081  weight=1;
    server 10.0.0.8:8081  weight=1;
}

server {
        listen       80;
        server_name  www.etiantian.org;

        # 直接访问网站根目录,跳转到后端服务器的对应网站根目录
        location / {                                                                         
            proxy_pass http://default_pool;
        }
        # 访问http://www.etiantian.org/static/.*,跳转到集群池中的某一台服务器中,这台服务器也要有相同的域名和/static/静态目录才能访问到数据 
        location /static/ {                                                               
            proxy_pass http://bbs_pool;
        }

        location /upload/ {                                                            //访问动态RUL,跳转到动态服务器池
            proxy_pass http://blog_pool;
        }
      }
 }

1.1、基于url的location,的反向代理

server {
    listen 80;
    server_name www.bbb.org;
    location /pic/ {
        proxy_pass http://www.accp.org;
    }
}
访问http://www.bbb.org/pic/test.jpg   跳转到http://www.accp.org/pic/test.jpg
注意:另一边必须也要有 /pic/test.jpg才能被访问到

2、基于扩展名的location

  • 后端集群中的web服务器,必须要有对应的目录和文件才能被访问到
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;


 upstream www_pool {
    server 10.0.0.7:80  weight=1;
    server 10.0.0.8:80  weight=1;
}

 upstream bbs_pool {
    server 10.0.0.7:8080  weight=1;
    server 10.0.0.8:8080  weight=1;
}

 upstream blog_pool {
    server 10.0.0.7:8081  weight=1;
    server 10.0.0.8:8081  weight=1;
}

server {
        listen       80;
        server_name  www.etiantian.org;

       # 访问http://www.etiantian.org/test.jpg  则跳转到集群池中的某天服务器,这台服务器也必须配置一样的域名并且有相同的test.jpg才能被访问
        location ~ .*\.(gif|jpg|png|css|js)$ {                                       //匹配图片后缀时,跳转到图片服务器池
            proxy_pass http://www_pool;
        }

        location ~ .*\.(html|htm|ht)$ {                                              //匹配html..时,跳转到静态服务器池
            proxy_pass http://bbs_pool;
        }

        location ~ .*\.(jsp|php) {                                                       //匹配jsp|php时,跳转到动态服务器池
            proxy_pass http://blog_pool;
        }
       }
    }

3、基于本地与远端location

server {
        listen       80;
        server_name  www.etiantian.org;


        location ~ .*\.(gif|jpg|png|css|js)$ {                                          //匹配jpg|gif时,跳转到图片服务器池
            proxy_pass http://www_pool;
        }

        location ~ .*\.(html|htm|ht)$ {                                                  //匹配html时,访问本地站点目录
             root /data/bbs;
             index   index.html;
        }
    }


(1)访问静态文件gif、jpg等都在本地打开,存放的目录为/usr/local/nginx/html,保存时间为30天  
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$   {
           root         /usr/local/nginx/html;  
          expires      30d;  
         }
         
(2)访问动态文件,都抛向后端
 location ~ (\.jsp)|(\.do)$  {
 proxy_pass http://10.1.88.168:8080;
}


####################################
server
{
        listen  80
        server_name xxxxxxx;

        location / {

        #rewrite ^/      http://211.155.82.174:80  permanent;
        proxy_pass http://211.155.82.174:80;
        #proxy_next_upstream http_502 http_504 error timeout invalid_header;
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
}
}

4、某公司location使用规则

server {
        listen       80;
        listen [::]:80;
        server_name  beta.deepcloudsdp.com saas2.deepcloudsdp.com;   # 域名
        root /project/redcore/webRoot/public;                        # 本地站点目录
        index index.html;                                            # 默认访问页面

        proxy_set_header X-Real-IP $remote_addr;

        location ~* /client/v[345]/push/sse {                        # 当访问http://beta.deepclousdsp.com/client/v3/push/see/xxx
           rewrite /client/v[345]/push(.*) $1 break;                 # 跳转到http://beta.deepclousdsp.com/client/v3/pushxxx 之后会break就不再让下走了
           proxy_pass http://172.17.123.5:8181;
           proxy_set_header Connection '';
           proxy_http_version 1.1;
           chunked_transfer_encoding off;
           proxy_buffering off;
           proxy_cache off;
           proxy_read_timeout 600s;
           proxy_connect_timeout 600;
        }

5、常用的location规则

(1) /表示直接访问域名则访问站点目录
server {
    listen       80;
    server_name  www.wenqiang.com;
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
}

(2)当访问http://www.wenqiang.com/index.html 时跳转到 http://www.test.com/index.html(前提示这两个url都真实存在)
server {
    listen       80;
    server_name  www.wenqiang.com;
    location / {
        proxy_pass http://www.test.com;
    }
}

(3) 当访问http://www.wenqiang.com/b/index.html时 跳转到http://www.test.com/b/index.html(前提示这两个url都真实存在)
server {
    listen       80;
    server_name  www.wenqiang.com;
    location /b {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        proxy_pass http://www.test.com;
    }
}

(4) 当访问http://www.test.com/b/c/时,系统会去/usr/share/nginx/html/b/c/下面查找index.html,找到则返回结果
server {
    listen 80;
    server_name www.test.com;
    location /b/c/ {
        root /usr/share/nginx/html;
        index index.html;
    }
}
# curl www.test.com/b/c/   # 注意最后要加/
test
    
    
(5) 匹配到http://www.wnqiang.com/c/目录时或http://www.wnqiang.com/c/xxx时, 跳转到 http://www.test.com/c/index.html或http://www.test.com/c/xxx(前提是c目录必须存在且跳转的url也存在)
# 匹配任何以 /images/ 开头的任何查询并且停止搜索    
server {
    listen       80;
    server_name  www.wenqiang.com;
    location ^~ /c/ {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        proxy_pass http://www.test.com;
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/959860.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何制作浪漫风格的壁纸

制作浪漫风格的壁纸需要营造出温馨、柔和、梦幻的氛围,通过色彩、元素和构图来传达浪漫的情感。以下是一个详细的步骤指南,帮助你制作浪漫风格的壁纸: 一、明确设计目标 确定用途: 个人使用:如果是为了个人设备&#…

SpringBoot支持动态更新配置文件参数

前言 博主介绍:✌目前全网粉丝3W,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技术领域。 涵盖技术内容:Java后端、大数据、算法、分布式微服务、中间件、前端、运维等。 博主所有博客文件…

题海拾贝:P2085 最小函数值

Hello大家好&#xff01;很高兴我们又见面啦&#xff01;给生活添点passion&#xff0c;开始今天的编程之路&#xff01; 我的博客&#xff1a;<但凡. 我的专栏&#xff1a;《编程之路》、《数据结构与算法之美》、《题海拾贝》 欢迎点赞&#xff0c;关注&#xff01; 1、题…

企业微信SCRM开创客户管理新纪元推动私域流量高效转化

内容概要 在当今瞬息万变的数字化时代&#xff0c;企业面临着前所未有的客户管理挑战。消费者的需求日益多样化&#xff0c;他们希望能够随时随地与品牌沟通。因此&#xff0c;越来越多的企业意识到&#xff0c;传统的客户管理方式已无法满足市场的需求。在这样的背景下&#…

电子应用设计方案104:智能家庭AI弹簧床系统设计

智能家庭 AI 弹簧床系统设计 一、引言 智能家庭 AI 弹簧床系统旨在为用户提供更加舒适、个性化的睡眠体验&#xff0c;通过结合人工智能技术和先进的床垫设计&#xff0c;实时监测和调整睡眠环境&#xff0c;以满足不同用户的需求。 二、系统概述 1. 系统目标 - 自动适应用户…

【25考研】人大计算机考研复试该怎么准备?有哪些注意事项?

人大毕竟是老牌985&#xff0c;复试难度不会太低&#xff01;建议同学认真复习&#xff01;没有机试还是轻松一些的&#xff01; 一、复试内容 由公告可见&#xff0c;复试包含笔试及面试&#xff0c;没有机试&#xff01; 二、参考书目 官方无给出参考书目&#xff0c;可参照…

随着监测技术的不断升级,将为智能决策提供强大的数据支持和智能帮助的智慧能源开源了

简介 AI视频监控平台, 是一款功能强大且简单易用的实时算法视频监控系统。愿景在最底层打通各大芯片厂商相互间的壁垒&#xff0c;省去繁琐重复的适配流程&#xff0c;实现芯片、算法、应用的全流程组合&#xff0c;减少企业级应用约 95%的开发成本&#xff0c;用户仅需在界面上…

vim如何设置自动缩进

:set autoindent 设置自动缩进 :set noautoindent 取消自动缩进 &#xff08;vim如何使设置自动缩进永久生效&#xff1a;vim如何使相关设置永久生效-CSDN博客&#xff09;

字节跳动发布UI-TARS,超越GPT-4o和Claude,能接管电脑完成复杂任务

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

使用eNSP配置GRE VPN实验

实验拓扑 实验需求 1.按照图示配置IP地址 2.在R1和R3上配置默认路由使公网区域互通 3.在R1和R3上配置GRE VPN&#xff0c;使两端私网能够互相访问&#xff0c;Tunne1口IP地址如图 4.在R1和R3上配置RIPv2来传递两端私网路由 实验步骤 GRE VPN配置方法&#xff1a; 发送端&#x…

机器学习-线性回归(对于f(x;w)=w^Tx+b理解)

一、&#x1d453;(&#x1d499;;&#x1d498;) &#x1d498;T&#x1d499;的推导 学习线性回归&#xff0c;我们那先要对于线性回归的表达公示&#xff0c;有所认识。 我们先假设空间是一组参数化的线性函数&#xff1a; 其中权重向量&#x1d498; ∈ R&#x1d437; …

Swing使用MVC模型架构

什么是MVC模式? MVC是一组英文的缩写,其全名是Model-View-Controller,也就是“模型-视图-控制器”这三个部分组成。这三个部分任意一个部分发生变化都会引起另外两个发生变化。三者之间的关系示意图如下所示: MVC分为三个部分,所以在MVC模型中将按照此三部分分成三…

Windows 环境下 Docker Desktop + Kubernetes 部署项目指南

Windows 环境下 Docker Desktop Kubernetes 部署项目指南 一、环境准备二、安装与配置 Kubernetes安装 windows 版的 docker启动 kubernetes安装 windows 版的 kubectl 工具下载 k8s-for-docker-desktop启动 Kubernetes Dashboard 二、在 Kubernetes 上部署项目创建一个 demo …

redis实现lamp架构缓存

redis服务器环境下mysql实现lamp架构缓存 ip角色环境192.168.242.49缓存服务器Redis2.2.7192.168.242.50mysql服务器mysql192.168.242.51web端php ***默认已安装好redis&#xff0c;mysql 三台服务器时间同步&#xff08;非常重要&#xff09; # 下载ntpdate yum -y install…

【Excel】【VBA】Reaction超限点筛选与散点图可视化

【Excel】【VBA】Reaction超限点筛选与散点图可视化 功能概述 这段代码实现了以下功能&#xff1a; 从SAFE输出的结果worksheet通过datalink获取更新数据从指定工作表中读取数据检测超过阈值的数据点生成结果表格并添加格式化创建可视化散点图显示执行时间 流程图 #mermaid-…

Java导出通过Word模板导出docx文件并通过QQ邮箱发送

一、创建Word模板 {{company}}{{Date}}服务器运行情况报告一、服务器&#xff1a;总告警次数&#xff1a;{{ServerTotal}} 服务器IP:{{IPA}}&#xff0c;总共告警次数:{{ServerATotal}} 服务器IP:{{IPB}}&#xff0c;总共告警次数:{{ServerBTotal}} 服务器IP:{{IPC}}&#x…

智能化加速标准和协议的更新并推动验证IP(VIP)在芯片设计中的更广泛应用

作者&#xff1a;Karthik Gopal, SmartDV Technologies亚洲区总经理 智权半导体科技&#xff08;厦门&#xff09;有限公司总经理 随着AI技术向边缘和端侧设备广泛渗透&#xff0c;芯片设计师不仅需要考虑在其设计中引入加速器&#xff0c;也在考虑采用速度更快和带宽更高的总…

RabbitMQ5-死信队列

目录 死信的概念 死信的来源 死信实战 死信之TTl 死信之最大长度 死信之消息被拒 死信的概念 死信&#xff0c;顾名思义就是无法被消费的消息&#xff0c;一般来说&#xff0c;producer 将消息投递到 broker 或直接到queue 里了&#xff0c;consumer 从 queue 取出消息进…

git常用命令学习

目录 文章目录 目录第一章 git简介1.Git 与SVN2.Git 工作区、暂存区和版本库 第二章 git常用命令学习1.ssh设置2.设置用户信息3.常用命令设置1.初始化本地仓库init2.克隆clone3.查看状态 git status4.添加add命令5.添加评论6.分支操作1.创建分支2.查看分支3.切换分支4.删除分支…

私有包上传maven私有仓库nexus-2.9.2

一、上传 二、获取相应文件 三、最后修改自己的pom文件