Я пытаюсь указать доступ к определенному представлению django только клиенту, звонящему с VPN IP (10.8.0.3)
Мой сервер django поддерживается apache с использованием следующего .conf
<VirtualHost *>
ServerAdmin webmaster@demo.cl
DocumentRoot /home/project/virtualenvs/env1
ServerName client1.project.cl
ServerAlias www.client1.project.cl
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
<Location "/">
SetHandler python-program
PythonHandler virtualhandler
SetEnv DJANGO_SETTINGS_MODULE project.settings
PythonOption django.root
SetEnv SITE_CLIENT_ID client1
PythonDebug On
PythonPath "['/home/project/virtualenvs/env1/django-site','/home/project/virtualenvs/env1/bin'] + sys.path"
</Location>
Alias /media "/home/project/virtualenvs/env1/lib/python2.6/site-packages/django/contrib/admin/media/"
<Location /media>
SetHandler None
</Location>
<Location /nodesaccess >
order Deny,Allow
Deny from all
Allow from 10.8.0.3
SetHandler python-program
PythonHandler virtualhandler
SetEnv DJANGO_SETTINGS_MODULE project.settings
PythonOption django.root
SetEnv SITE_CLIENT_ID client1
PythonDebug On
PythonPath "['/home/project/virtualenvs/env1/django- site','/home/project/virtualenvs/env1/bin'] + sys.path"
</Location>
</VirtualHost>
Эта предыдущая конфигурация позволяет создавать множество приложений django в зависимости от URL, я восстанавливаю переменную env, а затем apache загружает определенный файл setting.py, который является эксклюзивным и зависит от субдомена. Очень интересно
Все отлично работает (мои приложения) за исключением того, что в доступе нельзя отказать с помощью «Разрешить с 10.8.0.3»
Есть идеи?
Спасибо