Назад | Перейти на главную страницу

Ограничить WSGI на основе IP

Итак, на моем сервере 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 для ограничения доступа вместо файла виртуального хоста?

Вы должны были использовать:

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: