【问题标题】:Python Flask mod-wsgi Custom Headers not in RequestPython Flask mod-wsgi 自定义标头不在请求中
【发布时间】:2014-11-17 19:56:58
【问题描述】:

我有一个简单的 Python Flask 应用程序,由 Apache 通过 mod_wsgi 提供服务。

我的应用程序在我的本地主机上完美运行,但不能通过 mod_wsgi 运行的部分是自定义请求标头的访问。

当我请求某个网页时,我会传递一个名为 auth_user 的标头。在我的本地主机上,我可以通过以下方式访问此标头:request.headers["auth_user"],效果很好。但是,当通过 Apache 和 mod_wsgi 提供服务时,此自定义标头不存在!打印所有request.headers 表明标准的Content-TypeCache-Control 标头已发送,但没有auth_user 标头已发送到我的本地主机没有问题。

Tcpdump 显示服务器is 接收到标头,但在我的request.headers 中没有。

有没有人知道为什么这个标题在应用程序中不可用?

【问题讨论】:

    标签: python apache flask mod-wsgi


    【解决方案1】:

    确保您的 Apache 配置将 WSGIPassAuthorization directive 设置为“开启”,以便您的标头通过 Apache + WSGI 并到达您的 Flask 应用程序。

    【讨论】:

      【解决方案2】:

      解决方案是将声明前缀设置为不带_ 之类的东西

      OIDCClaimPrefix OIDC-CLAIM-
      

      【讨论】:

        【解决方案3】:

        这个花了我好几个小时...

        原来只允许使用字母数字字符或“-”。

        任何不符合这些的标头都将被忽略。

        http://modwsgi.readthedocs.org/en/latest/release-notes/version-4.3.0.html

        【讨论】:

        • 拯救了我的一天。非常感谢!
        猜你喜欢
        • 1970-01-01
        • 2017-05-29
        • 2020-07-17
        • 1970-01-01
        • 2023-03-21
        • 1970-01-01
        • 2017-09-28
        • 1970-01-01
        • 2013-08-18
        相关资源
        最近更新 更多