Как настроить обратный прокси для проекта Django на GoDaddy с Apache, чтобы скрыть порт 8000

У меня есть проект Django, который я загрузил на сервер GoDaddy под управлением Apache. Я использую домен с расширением .com, и я запустил сервер разработки Django командой python manage.py runserver 0.0.0.0:8000. Это делает проект доступным через домен с портом 8000 (например, www.example.com:8000).

Я хотел бы скрыть порт или направить запросы внутрь на порт 8000 с помощью обратного прокси, но это не работает. Кроме того, когда я пытаюсь получить доступ к сайту напрямую через домен, не указывая порт, он показывает структуру папок вместо приложения Django.

Можете ли вы помочь мне с настройкой обратного прокси или решить проблему с доступом к проекту Django напрямую через домен?

Я пробовал различные команды и настройки конфигурации в файле .conf, чтобы настроить обратный прокси и скрыть порт, но, похоже, ничего не работает

Вот конфигурация Apache:

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com

    DocumentRoot /var/www/html/ProjectDir

    ErrorLog /var/www/html/Project/error.log
    CustomLog /var/www/html/Project/access.log combined

    Alias /media /your/media/dir/path/media
    <Directory /your/media/dir/path/media>
        Require all granted
    </Directory>    

    Alias /static /your/static/dir/path/static
    <Directory /your/static/dir/path/static>
        Require all granted
    </Directory>

    ProxyRequests Off
    ProxyPreserveHost On

    <Proxy *>
        Require all granted
    </Proxy>    

    ProxyPass / http://127.0.0.1:8000/
    ProxyPassReverse / http://127.0.0.1:8000/
</VirtualHost>

Замените /your/media/dir/path/media и /your/static/dir/path/static на реальные пути к вашим медиа и статическим каталогам.

В этом случае Apache обслуживает статические и мультимедийные файлы напрямую, а все остальные запросы передаются на сервер разработки Django, работающий на 127.0.0.1:8000.

Вернуться на верх