【10.29】nginx 全局变量、rewrite 实战、nginx 的 location 配置

本文详细介绍了Nginx的全局变量使用,包括域名跳转、防盗链策略、伪静态设置以及Rewrite规则的多个条件应用。同时,深入探讨了Nginx的location配置,解析了不同匹配规则的优先级,通过实例演示了如何进行配置和测试。
摘要由CSDN通过智能技术生成

1.16 nginx 全局变量

nginx 常用全局变量

变量 说明
$args 请求中的参数,如 www.123.com/1.php?a=1&b=2 的$args 就是 a=1&b=2
$content_length HTTP请求信息里的 “Content-Length”
$conten_type HTTP请求信息里的 “Content-Type”
$document_root nginx 虚拟主机配置文件中的 root 参数对应的值
$document_uri 当前请求中不包含指令的 URI,如www.123.com/1.php?a=1&b=2 的 $document_uri 就是 1.php,不包含后面的参数
$host 主机头,也就是域名
$http_user_agent 客户端的详细信息,也就是浏览器的标识,用 curl -A 可以指定
$http_cookie 客户端的 cookie 信息
$limit_rate 如果 nginx 服务器使用 limit_rate 配置了显示网络速率,则会显示,如果没有设置, 则显示 0
$remote_addr 客户端的公网 ip
$remote_port 客户端的 port
$remote_user 如果 nginx 有配置认证,该变量代表客户端认证的用户名
$request_body_file 做反向代理时发给后端服务器的本地资源的名称
$request_method 请求资源的方式,GET/PUT/DELETE 等
$request_filename 当前请求的资源文件的路径名称,相当于是 $document_root/$document_uri 的组合
$request_uri 请求的链接,包括 $document_uri和 $args
$scheme 请求的协议,如 ftp,http,https
$server_protocol 客户端请求资源使用的协议的版本,如 HTTP/1.0,HTTP/1.1,HTTP/2.0 等
$server_addr 服务器 IP 地址
$server_name 服务器的主机名
$server_port 服务器的端口号
$uri 和 $document_uri 相同
$http_referer 客户端请求时的 referer,通俗讲就是该请求是通过哪个链接跳过来的,用 curl -e 可以指定

1.17/1.18 rewrite 实战

本部分内容为nginx生产环境中使用的场景示例。

1、域名跳转(域名重定向)

  • 示例1(不带条件的):
server{
   
    listen 80;
    server_name www.1.com;
    rewrite /(.*) http://www.1.com/$1 permanent;
    ......
}
  • 示例2(带条件的):
server{
   
    listen 80;
    server_name www.1.com 1.com;
    if ($host != 'www.1.com')
    {
   
        rewrite /(.*) http://www.1.com/$1 permanent;
    }
    ......
}
  • 示例3(http 跳转到 https):
server{
   
    listen 80;
    server_name www.1.com;
    rewrite /(.*) https://www.1.com/$1 permanent;
    ......
}
  • 示例4(域名访问二级目录)
server{
   
    listen 80;
    server_name bbs.1.com;
    rewrite /(.*) http://www.1.com/bbs/$1 last;
    ......
}
  • 示例5(静态请求分离)
server{
   
    listen 80;
    server_name www.1.com;
    location ~* ^.+.(jpg|jpeg|gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值