Django : прекратите доступ к моему веб-приложению через порт 8000 и доступ только по IP
Я развернул свое веб-приложение Django на дроплете Digital Ocean. Сервер python запущен на порту 8000.
python manage.py runserver 0.0.0.0:8000
Я настроил веб-сервер apache для обслуживания запросов.
/etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /etc/myproject
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
#Serving static files
Alias /static/ /etc/myproject/static/
<Directory /etc/myproject/static>
Require all granted
</Directory>
<Directory /etc/myproject/myproject>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIDaemonProcess myproject python-path=/etc/myproject python-home=/etc/myprojectenv
WSGIProcessGroup myproject
WSGIScriptAlias / /etc/myproject/myproject/wsgi.py
</VirtualHost>
Теперь, когда я обращаюсь к своему веб-приложению, используя IP-адрес X.X.X.X, я могу видеть свое приложение, однако приложение также доступно через порт 8000, X.X.X.X:8000.
Я хочу предотвратить доступ к моему приложению через любой другой порт, кроме доступа через IP. Как я могу это сделать?
Хорошо, я упустил момент, что мне не нужно запускать сервер Django, когда я настроил веб-сервер Apache для обслуживания моих запросов. Все запросы обслуживаются модулем mod_wsgi Apache. Пакет mod_wsgi предоставляет модуль Apache, который реализует WSGI-совместимый интерфейс для размещения веб-приложений на основе Python поверх веб-сервера Apache.