Разрешить только пользователям, которые заранее определили uname / passwd, доступ к веб-сайту Django - PullRequest
1 голос
/ 11 ноября 2011

У меня есть приложение Django, работающее на Apache с mod_wsgi, но я хотел бы создать сервер разработки на той же машине.

Я могу получить доступ к своему веб-сайту по http://IP_ADD, и я бы хотелдля доступа к серверу разработки из http://IP_ADD:8080 или другого порта.

Но, как вы заметили, я хотел бы запретить доступ к порту 8080 пользователям, которые не вводят заранее заданное имя пользователя / пароль.

Как мне получить такую ​​защиту?Я могу разрешить только определенный IP-адрес, но это не решение.

Другой вопрос также касается выбранного порта.У меня есть выбор порта 8080, но я также настрою систему отслеживания проблем, SVN и т. Д., И я не уверен, какие порты мне следует открыть для них.

Спасибо

Ответы [ 2 ]

1 голос
/ 11 ноября 2011

Для каждого сайта, который вы хотите разместить, вы можете создать отдельный сайт Apache с файлом VirtualHost в следующих строках:

<VirtualHost *:8080>
  ServerName www.example.com:8080    // Your name (if available)
  ServerAlias 12.23.34.45            // Your IP
  DocumentRoot /var/www/mydjangoapp  // Your folder

  <Directory />
    Order deny,allow
    Deny from all
    Allow from 127
    AuthName "Restricted area"
    AuthType Basic
    AuthUserFile /etc/apache2/users_mydjangoapp  // Allowed users file
    require valid-user
  </Directory>

Сам пользовательский файл может быть сгенерирован с использованием системы аутентификации Apache . Для каждого сайта вы можете добавить отдельный пользовательский файл для доступа к этой части вашей системы. Для доступа на основе IP просто добавьте строки, такие как Allow from 123.123.123.123 ниже строки Allow from 127.

Наконец, можно создать дополнительные сайты, создав дополнительные сайты Apache (см., Например, здесь для получения более подробной информации). Просто настройте порт (8080 в моем примере) на тот, под которым вы хотите разместить дополнительные сайты.

0 голосов
/ 11 ноября 2011

Вы можете добавить базовую аутентификацию http://djangosnippets.org/snippets/1304/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...