NGINX的奇淫技巧 —— 1. 字符串截断

在给大家讲述这个问题之前,先给大家看一段nginx配置. 我们用到了 set-misc-nginx-module

nginxlocation /test/ {
    default_type text/html;
    set_md5 $hash "secret"$remote_addr;
    echo $hash;
}

这样输出来的内容,可能是下面这样的

202cb962ac59075b964b07152d234b70

但如果我们要截取某几位字符怎么办呢?
首先大家想到的肯定是使用模块来实现, 但只能这样吗? 有没有更方便的方式呢?

有的.
我们可以巧妙地使用if + 正则表达式来实现这个小需求:

location /test/ {
    default_type text/html;
    set_md5 $hash "secret"$remote_addr;
    if ( $hash ~ ^[\w][\w][\w][\w][\w][\w][\w][\w]([\w][\w][\w][\w][\w][\w][\w][\w]) ) {
        set $hash $1;
    }
    echo $hash;
}

访问/test/输出的就是:

ac59075b
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
nginx的配置文件主要包括nginx.conf和conf.d目录下的配置文件。 nginx.conf是nginx的主配置文件,其中包含了全局的配置指令,如工作进程数量、日志文件路径、服务器块等。在nginx.conf中可以使用access_log指令来配置访问日志的路径和格式。例如,access_log /usr/local/nginx/logs/host.access.log main; 可以将访问日志记录在/usr/local/nginx/logs/host.access.log文件中。 而conf.d目录则是用来存放nginx的虚拟主机或者其他模块的配置文件的目录。在conf.d目录下的配置文件会被nginx主配置文件引入。例如,access_log /usr/local/nginx/logs/host.access.404.log log404; 可以将404错误的访问日志记录在/usr/local/nginx/logs/host.access.404.log文件中。 对于指令中提到的ulimit -n的值,它是指一个nginx进程打开的最多文件描述符数目。根据最佳实践,nginx的worker_connections指令应该与ulimit -n的值保持一致,以确保nginx能够处理最大数量的并发连接请求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Nginx配置文件 nginx.conf 和default.conf 讲解](https://blog.csdn.net/rdhj5566/article/details/121329006)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值