首页 > 代码库 > 使用正则表达式来截取nginx中的内置变量

使用正则表达式来截取nginx中的内置变量

nginx 中的内置变量都可以通过 if 指令 + 正则表达式来进行截取,截取之后的结果通过正则表达式的分组来进行引用

比如:从请求中传过来的一个名为 ssl_client_s_dn 的变量,它的值是类似 cn=username这样的

我们想要只留下username ,可以这样:

if ( $ssl_client_s_dn ~ (CN=([\S\s]*)) ){

                set  $username $2;

 }

其中 $2 是指获取正则表达式匹配结果的第二个分组(也就是第二个括号中的内容)

使用正则表达式来截取nginx中的内置变量