【发布时间】:2014-05-26 15:57:54
【问题描述】:
我对 apache2 和 wsgi 有疑问 我向我的服务器发送了一个请求,其中包含标头(HTTP_X_SOURCE)中的自定义字段,而 apache2(或 wsgi)阻止了该字段。 请求 => apache2 => web.py
有人知道为什么 apache2 或 wsgi 会屏蔽这个字段吗?
【问题讨论】:
标签: python apache ubuntu request wsgi
我对 apache2 和 wsgi 有疑问 我向我的服务器发送了一个请求,其中包含标头(HTTP_X_SOURCE)中的自定义字段,而 apache2(或 wsgi)阻止了该字段。 请求 => apache2 => web.py
有人知道为什么 apache2 或 wsgi 会屏蔽这个字段吗?
【问题讨论】:
标签: python apache ubuntu request wsgi
我在这里找到答案http://httpd.apache.org/docs/current/env.html#fixheader
“HTTP_X_SOURCE”中的“_”字符被禁止。 出于安全原因,Apache 2.4 比 apache 2.2 更严格。
【讨论】:
用途:
验证它是否到达托管在 mod_wsgi 下的 WSGI 应用程序。
它应该通过。问题可能是您尝试在 web.py 中访问它的方式,但您没有显示如何执行此操作的代码。
【讨论】:
我使用 web.ctx.env 访问这个变量
web.ctx.env.get('HTTP_X_SOURCE')
此代码在另一台装有 apache 2 和 wsgi 的服务器上运行良好。
在我的新服务器上 (ubuntu 13)
用纯 web.py(没有 apache 没有 wsgi)测试,变量 pass
用 apache2-wsgi+web.py 测试变量不通过
在我的旧服务器上 (ubuntu 12)
用纯 web.py(没有 apache 没有 wsgi)测试,变量 pass
用 apache2-wsgi+web.py 测试变量也通过了
【讨论】: