首页 > 解决方案 > 将 http 身份验证传递给 wsgi 不起作用

问题描述

我在 Windows 10 64 位上有一个 wamp 堆栈,apache 是 2.4.46,python 3.9.6
wsgi 使用 pip 安装,并且 httpd.conf 已修改为正确映射到模块
,wsgi 可以“hello world”并且工作正常。
但是我想通过 http 身份验证来保护访问,因此根据此处的文档,我在 if 的最后一部分向 httpd.conf 添加了一个指令:WSGIPassAuthorization On
,因此不仅对于特定目录,而且该指令对整个网络服务器都有效
我的 python 应用程序返回:[str(environ).encode()]我没有看到所谓的“HTTP_AUTHORIZATION”
检查了 apached 错误日志和访问日志,也没有关于此的信息。
我想提一下,根据官方文档,该指令可以在 .htaccess 上下文中使用,但这里模块开发人员 Graham Dumpleton Dumpleton 说不!所以我也对此感到困惑,因为它与信息相矛盾。
任何使这成为可能并且可以提供帮助的人都非常感谢
编辑
我更改了应用程序返回的内容:[str(environ['HTTP_AUTHORIZATION']).encode()]并且 apache 记录了一个错误:KeyError: 'HTTP_AUTHORIZATION'\r。所以绝对不包括这个密钥

标签: pythonwsgihttp-authentication

解决方案


推荐阅读