mod_wsgi 和 WSGIScript 指令

mod_wsgi and WSGIScript directive

在我的虚拟服务器配置中,我有这个:

 DocumentRoot /var/www/project/app/  

我还有这个指令:

WSGIScriptAlias / /var/www/project/app/wsgi.py

来自 mod_wsgi 文档:“避免将 WSGI 脚本放在 DocumentRoot 下,以避免在配置发生更改时意外泄露其源代码"

我很清楚,我必须在这里删除 DocumentRoot 指令!我只想知道如何泄露我的 wsgi.py 文件的代码。什么样的请求可以对该文件有响应?

变化:

WSGIScriptAlias / /var/www/project/app/wsgi.py

至:

WSGIScriptAlias /suburl /var/www/project/app/wsgi.py

重新启动 Apache,然后访问 /wsgi.py。它将下载并显示您的源代码。

通常没有理由将 DocumentRoot 设置为使用 WSGIScriptAlias 时 WSGI 脚本文件所在的目录。通过在不需要时执行此操作,如果您决定更改配置以将应用程序安装在子 URL 上并且不了解其含义,那么您离使代码可用只有一步之遥。

因为没有必要,所以不要让自己暴露在额外的风险中。