NGINX上的用户定义函数,例如字符串管道

时间:2018-08-21 18:35:09

标签: nginx user-defined-functions

有很多简单的事情不需要完整的 localhost 软件安装...假设我必须将域的URL重定向到其他域,但是需要转换REST参数字符串(例如名称或ID)转换为小写字符串。

在Unix中,我不需要安装新软件即可进行这种非常简单的转换……我可以做echo "UPPERcase" | tr A-Z a-z
我需要使用服务器端Unix基本安装来解决基本的NGINX问题。用户定义的函数ToLower(x)可以是NGINX对tr A-Z a-z的调用。

具体插图

客户请求:

GET /NComms7368 HTTP/1.1
Host: mydoi.example.org

服务器响应:

HTTP/1.1 301 Moved Permanently
Location: https://doi.org/10.1038/ncomms7368

我们可以想象NGINX的简化形式(以及我的幻想语法{ToLower($uri)}),如下所示:

server {
  server_name mydoi.example.org;
  rewrite ^http://doi.org/10.1038/{ToLower($uri)}? permanent;
}

因此,我正在寻找一种在NGINX上定义函数的方法,以及一种调用已注册函数的语法。


PS1:看到“相似但不相同”的question here

PS2:这不是一个现实问题,仅是一个例子-您可以将its server will convert与DOI一起使用大写字母。

0 个答案:

没有答案