2015-01-26 2 views
3

Я создаю API с Django REST framework, который подается через Gunicorn и Nginx. Проект «exampleproject» должен выполняться под следующим подпунктом, например: https://100.100.100.100/exampleproject (пример IP-адреса). У меня нет имени домена, зарегистрированного для IP-адреса.Как разместить проект Django в подпути?

В настоящее время стартовая страница представляется ожидаемым с https://100.100.100.100/exampleproject. Однако путь ресурса для «продуктов» не работает. Вместо https://100.100.100.100/exampleproject/products стартовая страница отображает https://100.100.100.100/products - что не работает.

я настроил подпуть для exampleproject в /etc/nginx/sites-enabled/default следующим образом:

server { 

    # ... 

    location /exampleproject/ { 
     proxy_pass  http://localhost:8007/; 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header Host $host; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_set_header X-Forwarded-Proto $scheme; 
    } 

Когда я вручную посетить https://100.100.100.100/exampleproject/products Nginx записывает следующее в /var/log/nginx/access.log:

"GET/продуктов/HTTP/1.1" 404 151 "-"

ответ

3

Я нашел here, что необходимо добавить followi нг настройки конфигурации Джанго в settings.py:

FORCE_SCRIPT_NAME = '/exampleproject' 

Это, кажется, переписать все пути для вложенных ресурсов.

Смежные вопросы