我的应用程序中有一个IdentityAccess控制器,它包含四个操作方法:
login
查
刷新
撤消
所以,我可以通过localhost / IdentityAccess / login等访问这些动作方法。另外,我实现了Luavalidation,这应该保护一些路由。 例如,这是我如何保护来store控制器的所有请求:
location /store/ { rewrite_by_lua_file 'jwt-validation.lua'; proxy_pass http://store_server/ ... }
但是,整个问题是与IdentityAccess控制器。 在这个控制器中,我想确保除login以外的所有操作方法。 此外,我不想创build一大堆像location /IdentityAccess/check { ... , location /IdentityAccess/refresh { ...等等,并适用于每个位置Lua脚本的确切位置。 我想要的是某种正则expression式,它将匹配一系列操作方法 – 检查,刷新和撤消 – 并且会忽略login操作方法。 但是我不知道最好的办法是什么。
如何使用Nginx禁用PHP 5(FPM)的代码caching?
uWsgi虚拟主机问题
将应用程序级用户名/用户标识注入到Nginx / Apache日志中
Nginx和Node.js未知的指令
我如何用Angular-Cli运行PM2? – Angular2
-su:bundle:启动独angular兽时找不到命令
Bundler在ubuntu 14.04上搭载passenger-install-Nginx-module的错误
Nginx`location`指令中的`expires -1`是什么意思?
选择具有最长匹配前缀的前缀位置。 所以你需要的是定义/IdentityAction/login/位置没有jwt验证。
location /IdentityAction/ { rewrite_by_lua_file 'jwt-validation.lua'; proxy_pass http://store_server; ... } location /IdentityAction/login/ { proxy_pass http://store_server; ... }
当然,这也可以用正则表达式位置来完成,但是在这种情况下,位置在文件中的位置是重要的,因为选择了第一个匹配(但是对于前缀位置位置并不重要,因为所选位置的最佳匹配)。 用正则表达式可以看起来像
location ~ ^/IdentityAction/login/$ { # first location in file proxy_pass http://store_server; } location ~ ^/IdentityAction/$ { # second location in file rewrite_by_lua_file 'jwt-validation.lua'; proxy_pass http://store_server; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。