我有一个服务器,我用Nginx运行多个子域网站
每个子域在配置中都有一个服务器{…}块(在已启用站点中)
我想添加一个全局动态身份验证后端(另一个http站点),它将检查请求的子域并提供访问权限或询问用户凭据
所以流程应该是这样的
request stie1.example.com ---> [auth check in database]
/ \
no yes
/ \
show username/pass form pass to site1.example.com
我找到了auth_request模块 – 但只是关于服务器上下文的示例
我希望它在顶级上下文(http上下文) – 当然位置指令不可用
基本上我想要的是一些全局Nginx中间件,我可以运行一些代码(即python)来检查用户是否有权查看其中一个托管域
有什么建议 ?
最佳答案
如果你提供你想要完成的实际上下文,它可能会有所帮助.
根据http://nginx.org/r/auth_request,auth_request指令实际上允许在位置上下文的“两个”级别 – 在服务器和http上下文中,因此,绝对没有什么可以阻止您为您的每个服务器全局启用它Nginx实例.
否则,如果您希望仅在某些位置指令和/或仅某些服务器配置中启用它,则可以始终在任何上下文中使用include指令,如http://nginx.org/r/include所示.