Исключить определенные URL-адреса из перенаправления nginx

Я пытаюсь исключить два URL-адреса из перенаправления nginx (http на https). Трафик из Nginx отправляется в guincorn, а URL-адреса динамически генерируются в представлении Django.

Моя текущая базовая конфигурация nginx для сайта приведена ниже. Все запросы, отличные от http, отправляются по протоколу https, используя это.

server {
        listen 80;
        listen [::]:80 default_server;
        server_name mydomain.org;
        return 301 https://$server_name$request_uri;
}

server {
        listen 443 ssl default_server;
        listen [::]:443 ssl default_server;

        ssl_certificate     ....;
        ssl_certificate_key ....;

        root /app/ioc;

        server_name mydomain.org;

        location = /favicon.ico { access_log off; log_not_found off; }
        location /static/ {
                alias /path/static/;
        }

        location / {
            proxy_pass http://unix:/run/gunicorn.sock;
            proxy_set_header Host $http_host;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_redirect off;
        }
}

Теперь я пытаюсь исключить как this/endpoint1.txt, так и this/endpoint2.txt из перенаправлений. endpoint1.txt и endpoint1.txt динамически генерируются в представлении django, поэтому они не являются фактическими текстовыми файлами на сервере.

Попытка сделать что-то подобное приводит к ошибке 404

location /this/endpoint1.txt {
        root /path/app;
        add_header Content-Type text/plain;
}

Кроме того, когда я делаю что-то вроде этого:

location /this/endpoint1.txt {
        proxy_pass http://127.0.0.1:80;
}

Я получаю сообщение об ошибке тайм-аута шлюза 504.

Я связываю gunicorn вот так "0.0.0.0:8000"

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