我刚刚继承了一个在 Apache 2.4、mod_wsgi 3.4 和 Python 2.7 下运行的 Python 应用程序。同一个应用程序同时处理 HTTP 和 HTTPS 请求。
在现有代码中,它试图通过检查环境来确定请求是否为 HTTPS:
if context.environ.get('HTTPS') not in ['on', '1']:
此检查失败,即使连接实际上是 HTTPS。在查看显示环境变量的扩展回溯时,我发现它HTTPS
实际上不在从 Apache 传递的环境中。
所以我的问题是:
- 这是 Apache 配置问题吗?
- 此检查是否完全错误并且应该重写以检查其他内容?如果是这样,是什么?
- 或者我应该像我真正想做的那样放弃并用 nginx 替换 Apache?