nginx跳转配置的方式有哪些


这篇文章主要介绍了nginx跳转配置的方式有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇nginx跳转配置的方式有哪些文章都会有所收获,下面我免费云主机域名们一起来看看吧。server name 为虚拟服务器的识别路径。因此不同的域名会通过请求头中的HOST字段,匹配到特定的server块,转发到对应的应用服务器中去。server_name匹配规则:后面可以跟多个域名,第1个是主域名如下nginx配置请求结果curl http://my.test.com:8080 返回:I am mytest!
curl http://test1.com:8080 返回:I am test1!以*通配符开始的最长字符串,如下示例以*通配符结束的最长字符串通配符名字只可以在名字的起始处或结尾处包含一个星号,并且星号与其他字符之间用点分隔。所以,“my..com“都是非法的。例如 :server_name my..com;报以下错误:nginx: [emerg] invalid server name or wildcard “my.*.com” on 0.0.0.0:8080匹配正则表达式解释说明~: 表示大小写敏感的正则;^:匹配字符串的开始;{.+}:换行符以外的任意自读重复一次活更多次;(): 分组与取值;:表示转义;serno:设置提取的变量;$:匹配字符串的结束;请求结果server_name的配置顺序是怎样的呢?按照如下顺序匹配:匹配顺序->->精确匹配->*在前的域名->*在后的域名->按文件中的顺序匹配->default server:第一个,listen指定default匹配的正则符号如下:= 严格匹配。如果请求匹配这个location,那么将停止搜索并立即处理此请求~ 区分大小写匹配(可用正则表达式)~* 不区分大小写匹配(可用正则表达式)!~ 区分大小写不匹配!~* 不区分大小写不匹配^~ 如果把这个前缀用于一个常规字符串,那么告诉nginx 如果路径匹配那么不测试正则表达式按照上面的规则配置了如下locationcurl http://test1.com:8080/documents,精确匹配返回 configuration Acurl http://test1.com:8080/documents/ ^~匹配上后不在匹配,返回 configuration Dcurl http://test1.com:8080/documents/txt1 走到了正则匹配,不会走到/documents/txt1(正则没走完) 返回configuration Ecurl http://test1.com:8080/documents/txt1/,返回configuration C,因为正则都不匹配编译的时候加上 –with-debug选项,例如 ./configure –with-debugconf文件加上要debug的host,debug_connection对应要debug的连接。error.log查看debug日志,图中test location就是正则匹配的过程语法如下: 指令语法:rewrite regex replacement[flag];
  默认值:none
  应用位置:server、location、if
  rewrite是实现URL重定向的重要指令,他根据regex(正则表达式)来匹配内容跳转到replacement,结尾是flag标记.return三种code,code url和url。返回状态码:444表示关闭连接 301表示http1。0中永久重定向,302表示临时重定向,进制缓存。http1.1后,303表示临时重定向,允许改变方法,进制缓存,307表示临时重定向,不允许改变方法,禁止被缓存,308表示永久重定向,不允许改变方法。返回code通过$request_uri变量匹配所有的URI。通过正则匹配所有的URI后再去掉开头第一个/(反斜线)。与if指令结合打开日志开关rewrite_log on;可以配置到http,server,location和if上下文中示例:curl http://test1.com:8080/first/2.txt效果图如下对上游服务使用http/https协议进行反向代理。proxy_pass后面跟url,可以仿造location,if in location和limit_except上下文中。 这个功能是默认编译到nginx中的。本文重点讨论http proxy。url参数规则url必须以http或者https开头,接下来是域名、ip、unix socket或者upstream名字,都可以就端口。后面是可选的urihttp示例proxy_pass http://localhost:8000/uri/;UNIX域套接字路径来定义示例proxy_pass http://unix:/tmp/backend.socket:/uri/;url中是否携带uri,结果也不一样,如果在proxy_pass后面的url加/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走;如果没有/,则会把匹配的路径部分给代理走。目录结构如下├── first│ └── index.html├── index.html└── second └── index.htmlnginx配置如下不带/,然后 curl http://127.0.0.1:8082/first/index.html 返回index html带/,然后 curl http://127.0.0.1:8082/first/index.html 返回first indexUrl参数中可以携带变量proxy_pass http://$host$uri;可以配合rewrite break语句关于“nginx跳转配置的方式有哪些”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“nginx跳转配置的方式有哪些”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注百云主机行业资讯频道。

相关推荐: Unity AudioManager声音管理器怎么用

本篇内容主要讲解“Unity AudioManager声音管理器怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Unity 免费云主机域名AudioManager声音管理器怎么用”吧!我们一般会把音频分为四类:…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 4天前
下一篇 4天前

相关推荐