因此,我在我的 debian 服务器上运行 trac,其 VirtualHost 文件如下所示:
...
WSGIScriptAlias / /srv/domain/trac.wsgi
WSGIScriptReloading On
<Directory /srv/domain/tracprojects>
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Deny from all
</Directory>
...
我以为这可能会拒绝所有人的访问(我想这样做来测试这是否有效)。不幸的是,尽管 trac 应用程序仍在运行,但这并未影响设置。
我是否需要在 wsgi 文件而不是虚拟主机文件中放入一些内容来限制访问?
答案1
你应该使用过:
WSGIScriptAlias / /srv/domain/trac.wsgi
<Directory /srv/domain/>
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Deny from all
</Directory>
但是,这也可能停止该目录下的其他内容,因此请改用:
WSGIScriptAlias / /srv/domain/trac.wsgi
<Directory /srv/domain/tracprojects>
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
<Files trac.wsgi>
Deny from all
</Files>
</Directory>
顺便说一句,您不需要 WSGIScriptReloading。
另请务必阅读:
最好使用守护进程模式。
Trac 的常规设置说明如下: