Express и Nginx борьба за маршрутизацию - PullRequest
0 голосов
/ 30 марта 2020

Итак, у меня есть странная конфигурация, в которой я нуждаюсь, пока не получу рефакторинг проекта позже в этом году.

это stati c index. html целевая страница, обслуживаемая с местоположением root "/" от NGINX.

У меня есть местоположение sla sh, например:

    location /channel/ {
        proxy_pass http://node_server:5000/;
        proxy_redirect off;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_set_header X-Ssl on;
        proxy_cache_bypass $http_upgrade;
    }

, которое затем обрабатывает express. js. Express просто обслуживает stati c папку с автоматически сгенерированным содержимым, в котором пользователь затем может перемещаться.

Это хорошо работает в том смысле, что любые добавляющие косые черты, такие как:

/ канал / открытие /

но ТОЛЬКО если у меня есть трейлинг-сл sh после "открытия". Если я пропущу его, то NGINX выдаст «404 Not Found», если я его оставлю, он будет работать как положено.

Дело в том, что пользователь должен иметь возможность щелкнуть папку в каталог stati c обслужен для обхода файловой структуры, и способ, который работает в браузере, заключается в том, что он не добавляет конечный sla sh к имени каталога при нажатии, поэтому NGINX затем выдает «404» .Я попробовал пакет NPM под названием 'express -sla sh', но это не решило проблему.

Я надеялся, что у кого-то здесь есть какие-то предложения относительно того, что я мог бы попробовать дальше?

1 Ответ

0 голосов
/ 31 марта 2020

Подробную информацию о трейлинг-сле sh можно найти здесь: https://serverfault.com/questions/607615/using-trailing-slashes-in-nginx-configuration

Но если ваша цель - настроить NGINX, чтобы разрешить обратный путь в каталогах, возможно, вы ищете для директивы autoindex: http://nginx.org/en/docs/http/ngx_http_autoindex_module.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...