我已將我的 Django Web 應用程式部署在數字海洋水滴上。python 服務器在 8000 埠上運行。
python manage.py runserver 0.0.0.0:8000
我已經配置了 apache web 服務器來處理請求。
/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 地址 XXXX 訪問我的 Web 應用程式時,我可以看到我的應用程式,但是該應用程式也可以通過埠 8000 XXXX:8000 訪問。
我想防止我的應用程式在任何其他埠上被訪問,除了使用 IP 訪問。我怎樣才能做到這一點?
uj5u.com熱心網友回復:
好的,我在這里遺漏了一點,當我配置 Apache Web 服務器來服務我的請求時,我也不需要運行 Django 服務器。所有請求都由 mod_wsgi Apache 模塊提供服務。mod_wsgi 包提供了一個 Apache 模塊,該模塊實作了一個 WSGI 兼容介面,用于在 Apache Web 服務器之上托管基于 Python 的 Web 應用程式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/471496.html
標籤:Python django 阿帕奇 http 网络服务器
上一篇:如果一個網站沒有80埠,其他客戶端可以正常訪問這個網站嗎?
下一篇:如何驗證HTTP回應?
