Django URL в шаблонах с помощью Apache ProxyPass

У меня есть проект Django, расположенный за сервером ProxyPass в Apache.

В проекте есть приложение под названием 'home', с таким шаблоном url:

urlpatterns = [
    path('', views.HomeView.as_view(), name='index'),
    path('projects', views.HomeView.as_view(), name='dashboard'),
    path('projects/<int:pid>/members',
         views.ProjectMembersView.as_view(), name='project.members'),

Есть два URL, которые имеют одинаковый класс View (первый используется для корня).

В классе HomeView используется шаблон под названием 'dashboard.html' и получаем список проектов для отправки в шаблон

class HomeView(LoginRequiredMixin, ListView):
    template_name = 'home/dashboard.html'
    context_object_name = 'projects'
    login_url = 'accounts.login'

    def get_queryset(self):
        ... # returns a list of projects

Шаблон отображает табличку с некоторой информацией о проекте и URL-адресом для просмотра сотрудников, работающих над проектом

<td class="align-middle text-center text-sm">
    <a href="{% url 'project.members' pid=project.id %}">See employees</a>
</td>

В случае, проект за Apache ProxyServer, URL сгенерированный в шаблоне имеет вид: "https://example.com/4554/members", здесь Django не распознает URL

Другая ситуация, без Apache Proxypass генерируемый URL выглядит следующим образом: "http://127.0.0.1:8000/projects/4554/members", Django может распознать URL и вернуть шаблон при нажатии на ссылку.

Конфигурация ProxyPass в Apache находится в файле: "/etc/apache2/sites-enabled/the-projects.conf".

<VirtualHost *:80>
    ServerName example.com
    ErrorLog /var/log/apache2/projects_perror.log
    CustomLog /var/log/apache2/projects_access.log combined

    RequestHeader set X-Forwarded-Proto 'https' env=HTTPS

    ProxyPass /projects http://127.0.0.1:8000
    ProxyPassReverse /projects http://127.0.0.1:8000

    Alias /static/ /home/me/developer/projects/static/
    <Directory "/home/me/developer/projects/static/">
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
    </Directory>
</VirtualHost>

Чего мне не хватает для отображения правильного URL в шаблоне при использовании Apache ProxyPass

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