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

Apache и mod_wsgi запрещают пользователю просматривать исходный код

Я запускаю приложение WSGI, написанное на Python, с помощью flask на Apache. Я до сих пор правильно настроил свой виртуальный хост для использования моего приложения.

<VirtualHost *:80>
ServerName mydomain.com

ErrorLog /var/www/abizeitung/error.log
LogLevel warn
CustomLog /var/www/abizeitung/access.log combined

WSGIDaemonProcess abizeitung user=www-data group=www-data threads=5
WSGIScriptAlias / /var/www/abizeitung/abizeitung.wsgi

<Directory /var/www/abizeitung>
    WSGIProcessGroup abizeitung
    WSGIApplicationGroup %{GLOBAL}
    Order deny,allow
    Allow from all
</Directory>
</VirtualHost>

Моя проблема в том, что я могу просматривать источник, например. "localhost / abizeitung / app.py". Простое изменение «Разрешить от всех» на «Запретить от всех» блокирует любой доступ к приложению.

Вы можете настроить правило запрета на основе <FileType>, или вы можете настроить корень документа так, чтобы он указывал где-то еще. Вам нужен только корень документа для вашего статического содержимого. И если вы определите Alias например, Alias ​​/ static / var / www / abizeitung / static (или где бы он ни был), вам даже не нужен корень документа.

Кстати, почему:

WSGIProcessGroup abizeitung
WSGIApplicationGroup %{GLOBAL}

В твоем <Directory> блок?