在我的虚拟服务器配置上,我有:
DocumentRoot /var/www/project/app/
我也有这个指令:
WSGIScriptAlias / /var/www/project/app/wsgi.py
来自mod_wsgi文档的:“ 避免在DocumentRoot下放置WSGI脚本,以避免在配置发生变化时意外泄露其源代码 ”
我很清楚我必须在这里删除DocumentRoot指令!我只是想知道如何揭示我的wsgi.py文件的代码。什么样的请求可以对该文件做出响应?
答案 0 :(得分:1)
变化:
WSGIScriptAlias / /var/www/project/app/wsgi.py
为:
WSGIScriptAlias /suburl /var/www/project/app/wsgi.py
重新启动Apache,然后访问/wsgi.py
。它将下载并显示您的源代码。
使用DocumentRoot
时,通常没有理由将WSGIScriptAlias
设置为WSGI脚本文件所在的目录。通过在您不需要时执行此操作,如果您决定更改配置以将应用程序安装在子URL并且不了解它的含义,那么您距离使代码可用还有一步之遥。
由于没有必要,不要让自己面临额外的风险。