Nginx配置文件中location配置的多种场景

目录
  • 服务请求如下(示例):
  • 场景一、
  • 场景二、
  • 场景三、
  • 场景四、
  • 场景五、
  • 场景六、
  • 场景七、
  • 场景八、
  • 总结

服务请求如下(示例):

  • nginx服务: http://127.0.0.1:80
  • 后台服务:http://127.0.0.1:8088
  • 测试url地址:http://127.0.0.1:8088/test/api/findAll

场景一、

nginx配置:

location /test/ {
   proxy_pass http://127.0.0.1:8088/;
}

请求地址:http://127.0.0.1/test/api/findAll

实际上服务请求地址为:http://127.0.0.1:8088/api/findAll

规则:location最后有"/“,proxy_pass最后有”/" 结果为 proxy_pass + url中location最后一个斜线以后的部分

场景二、

nginx配置:

location /test {
   proxy_pass http://127.0.0.1:8088/;
}

请求地址:http://127.0.0.1/test/api/findAll

实际上服务请求地址为:http://127.0.0.1:8088//api/findAll

规则:location最后无"/“,proxy_pass最后有”/" 结果为 proxy_pass + / + url中location最后一个斜线以后的部分

场景三、

nginx配置:

location /test/ {
   proxy_pass http://127.0.0.1:8088;
}

请求地址:http://127.0.0.1/test/api/findAll

实际上服务请求地址为:http://127.0.0.1:8088/test/api/findAll

规则:location最后有"/“,proxy_pass最后无”/" 结果为 proxy_pass + location + url中location后面的部分(不包含第一个/)

场景四、

nginx配置:

location /test {
   proxy_pass http://127.0.0.1:8088;
}

请求地址:http://127.0.0.1/test/api/findAll

实际上服务请求地址为:http://127.0.0.1:8088/test/api/findAll

规则:location最后无"/“,proxy_pass最后无”/" 结果为 proxy_pass + location + “/” + url中location后面的部分(不包含第一个/)

以下配置的规则可以参考上面的场景。

场景五、

nginx配置:

location /test/ {
   proxy_pass http://127.0.0.1:8088/server/;
}

请求地址:http://127.0.0.1/test/api/findAll

实际上服务请求地址为:http://127.0.0.1:8088/server/api/findAll

场景六、

nginx配置:

location /test {
   proxy_pass http://127.0.0.1:8088/server/;
}

请求地址:http://127.0.0.1/test/api/findAll

实际上服务请求地址为:http://127.0.0.1:8088/server//api/findAll

场景七、

nginx配置:

location /test {
   proxy_pass http://127.0.0.1:8088/server/;
}

请求地址:http://127.0.0.1/test/api/findAll

实际上服务请求地址为:http://127.0.0.1:8088/serverapi/findAll

场景八、

nginx配置:

location /test {
   proxy_pass http://127.0.0.1:8088/server;
}

请求地址:http://127.0.0.1/test/api/findAll

实际上服务请求地址为:http://127.0.0.1:8088/server/api/findAll

总结

以上就是nginx配置文件里location中“/”相关配置的笔记。

到此这篇关于Nginx配置文件中location配置的文章就介绍到这了,更多相关Nginx配置文件location配置内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 详解Nginx Location配置

    今天有一位同学问到 Nginx 的站点多路径匹配的问题? 1.www.domain.com/a 需要返回 /var/www/domain.com/a/index.html 2.www.domain.com/b 需要返回 /var/www/domain.com/b/index.html 如何配置 Nginx 使之生效? 解决这个问题,第一的反映是直接使用 Nginx 的 location 指令来解决,不过在给出答案之前,我们先来了解一下 Nginx location 指令的基础. Nginx 区块

  • Nginx服务器中location配置的一些基本要点解析

    在这一篇文章里,我将介绍nginx关于location的处理,大家都知道Nginx配置文件里面会有很多的location,nginx的配置指令的作用域可以分为 main,server,location这3个种,实际上这3者不是依次包含的关系,而是相互独立的关系,比如一个只具有main级别作用域的指令,是不能写在某个server或者location内的,模块的某个指令可以同时具有main,server,location这3种作用域,另外每个模块有 main,srv,loc这3个级别的配置,一个模块

  • Nginx服务器中的location配置详解

    语法 location  [=|~|~*|^~] /uri/  {...} 规则 = : 表示精确的URI匹配(有兴趣的同学可以看一下url和uri的区别) -: 表示区分大小写的正则匹配 -*:表示不区分大小写的正则匹配 !~ && !~*:表示区分大小写不匹配的正则和不区分大小写的不匹配的正则 /:通用匹配,任何请求都会匹配到 location匹配目标 location匹配测试只使用请求URI的部分,而不使用参数部分.(原因:参数的写法太多,无法精确匹配) location匹配顺序 多

  • nginx 配置location匹配规则实例讲解

    nginx的配置指令的作用域可以分为 main,server,location这3个种,实际上这3者不是依次包含的关系,而是相互独立的关系,比如一个只具有main级别作用域的指令,是不能写在某个server或者location内的,模块的某个指令可以同时具有main,server,location这3种作用域,另外每个模块有 main,srv,loc这3个级别的配置,一个模块的main级别的配置对所有的server和location都是共享的,srv级别的配置对所有 location都是共享的,

  • nginx 配置指令之location使用详解

    目录 前言 配置策略 具体属性介绍 Nginx是支持世界上所有网站三分之一的Web服务器.因为轻巧,模块化,用户友好的配置格式以强大的反向代理能力,Nginx迅速取代其他Web服务器成了互联网上最常用Web服务器之.作为一个门户和对外暴露的入口,Nginx也是Web服务在保障企业服务在性能和安全方面功不可没,虽然Nginx也暴露过一些漏洞(比如CVE-2013-4547,CVE-2017-7529,CVE-2018-16843/16844,CVE-2019-9516和CVE-2020-12440

  • nginx location 配置 正则表达式实例详解

    1.location 介绍 •location 是在 server 块中配置,用来通过匹配接收的uri来实现分类处理不同的请求,如反向代理,取静态文件等 •location 在 server 块中可以有多个,且是有顺序的,会被第一个匹配的 location 处理 •localtion 匹配功能只做匹配分发用,并不会改变uri的内容或其他作用,我一开始理解的时候就混淆了一些概念,建议多做测试看实际效果 2.localtion 匹配规则 •location [ = | ~ | ~* | ^~ ] u

  • nginx配置location方法总结

    location匹配顺序 1."="前缀指令匹配,如果匹配成功,则停止其他匹配 2.普通字符串指令匹配,顺序是从长到短,匹配成功的location如果使用^~,则停止其他匹配(正则匹配) 3.正则表达式指令匹配,按照配置文件里的顺序,成功就停止其他匹配 4.如果第三步中有匹配成功,则使用该结果,否则使用第二步结果 注意点 1.匹配的顺序是先匹配普通字符串,然后再匹配正则表达式.另外普通字符串匹配顺序是根据配置中字符长度从长到短,也就是说使用普通字符串配置的location顺序是无关紧要

  • Nginx配置文件中location配置的多种场景

    目录 服务请求如下(示例): 场景一. 场景二. 场景三. 场景四. 场景五. 场景六. 场景七. 场景八. 总结 服务请求如下(示例): nginx服务: http://127.0.0.1:80 后台服务:http://127.0.0.1:8088 测试url地址:http://127.0.0.1:8088/test/api/findAll 场景一. nginx配置: location /test/ { proxy_pass http://127.0.0.1:8088/; } 请求地址:htt

  • Nginx中Location配置超详细讲解

    目录 一.语法 二.匹配顺序 三.root 与 alias 的区别 四.server 和 location 中的 root 总结 一.语法 Location 是 Nginx 中一个非常核心的配置,关于Location,举个简单的配置例子: server { listen 80; server_name 10.0.7.115; location / { root /data/app/; index index.html; } } 当访问 http://10.0.7.115:80 的时候,返回的是

  • 浅析Nginx配置文件中的变量的编写使用

    nginx 的配置文件使用的就是一门微型的编程语言,许多真实世界里的 Nginx 配置文件其实就是一个一个的小程序.当然,是不是"图灵完全的"暂且不论,至少据我观察,它在设计上受 Perl 和 Bourne shell 这两种语言的影响很大.在这一点上,相比 Apache 和 Lighttpd 等其他 Web 服务器的配置记法,不能不说算是 Nginx 的一大特色了.既然是编程语言,一般也就少不了"变量"这种东西(当然,Haskell 这样奇怪的函数式语言除外了).

  • redis配置文件中常用配置详解

    此次安装的版本为: 5.0.3 [root@localhost local]# redis-server --version Redis server v=5.0.3 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=afabdecde61000c3 打开redis.cof NETWORK # 指定 redis 只接收来自于该IP地址的请求,如果不进行设置,那么将处理所有请求 bind 127.0.0.1 #是否开启保护模式,默认开启.要是配置

  • 优化MyBatis配置文件中的配置详解

    本文研究的主要是优化MyBatis配置文件中的配置的相关内容,具体介绍如下. 一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN&

  • Nginx服务器中强制使用缓存的配置及缓存优先级的讲解

    nginx代理做好了,缓存也配置好了,但是发现css.js.jpg这些静态文件统统都cached成功.但是偏偏页面文件依旧到源服务器取. 1. nginx不缓存原因 默认情况下,nginx是否缓存是由nginx缓存服务器与源服务器共同决定的, 缓存服务器需要严格遵守源服务器响应的header来决定是否缓存以及缓存的时常.header主要有如下: Cache-control:no-cache.no-store 如果出现这两值,nginx缓存服务器是绝对不会缓存的 Expires:1980-01-0

  • Nginx服务器中配置GeoIP模块来拦截指定国家IP

    最近有一个网站项目需求:需要屏蔽国内的方问请求.花时间研究了一下这方面的资料.目前找到的最佳方法就是使用 Nginx 的 GeoIP 模块来实现地区的识别.然后配置相关国家的 ISO 名称,禁止访问即可.记录一下相关过程. 编译 GeoIP 组件 maxmind 提供的免费版数据库已经可以满足需求,在使用数据库前,需要先编译 GeoIP 组件: wget http://geolite.maxmind.com/download/geoip/api/c/GeoIP-1.4.8.tar.gz ./co

  • 详解nginx使用ssl模块配置支持HTTPS访问

    背景: 项目开发中用到了微信小程序,但是服务器配置URL必须是HTTPS,所以需要通过配置nginx的SSL模块来支持HTTPS访问,也就是说,要做一个网站域名为 dmsdbj.com 要求通过HTTPS://dmsdbj.com进行访问. SSL英文名为Secure Socket Layer,安全套接字层.SSL是一种数字证书,它使用ssl协议在浏览器和web server之间建立一条安全通道,数据信息在client与server之间的安全传输. 本篇博客是对这个操作步骤的详解. 前提: 1.

  • 详解nginx.conf 中 root 目录设置问题

    在配置 nginx.conf 总会遇到一些问题,下面列举一些常见的问题并说明如何解决 1.相对路径的问题 例如配置文件中 location 设置 location ~ .php${ root html } location 中root所指向的html是一个相对路径,相对的是这个配置文件的路径,假设此配置文件的位置是/etc/nginx/conf.d,那么这个html的绝对路径就是/etc/nginx/conf.d/html.因此为避免出现不必要的麻烦,在配置root路径的过程中最好用绝对路径.

随机推荐