nginx的全局auth_request

时间:2018-01-02 16:01:41

标签: nginx

我有一个服务器,我用nginx

运行多个子域网站

每个子域在配置中都有一个server { ... }块(在sites-enabled

我想添加一个全局动态身份验证后端(另一个http网站),它将检查请求的子域并提供访问权限或询问用户凭据

所以流程应该像

request stie1.example.com ---> [auth check in database] 
                                /              \
                              no               yes
                              /                  \
            show username/pass form        pass to site1.example.com

我找到了https://akveo.github.io/ng2-smart-table/#/examples/custom-editors-viewers模块 - 但仅举例说明server上下文

我希望它在顶级上下文(http上下文)中 - 当然location指令不可用

基本上我想要的是一些全局nginx中间件,我可以运行一些代码(即python)来检查用户是否有权查看其中一个托管域

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

如果你提供了你想要完成的实际上下文,这可能会有所帮助。

根据http://nginx.org/r/auth_request,实际允许auth_request指令"两个"升级location上下文 - 在serverhttp上下文中都是如此,因此,绝对不会阻止您为每个server全局启用它在你的nginx实例中。

否则,如果您希望仅在某些location指令和/或仅某些server配置中启用它,那么您始终可以在任何上下文中使用include指令,如{ {3}}