Немного запутался в поведении косой черты в nginx - PullRequest
0 голосов
/ 06 декабря 2018

Трейлинг-слэш в nginx в последнее время дает мне бессонные ночиЗапрос некоторой помощи с этим

Вопрос : Странное поведение косой черты в proxy_pass.

Так почему бы это сработало:

location /myapi/ {
      proxy_pass   http://node_server8/;
    }

и это не будет

location /myapi/ {
      proxy_pass   http://node_server8;
    }

Обратите внимание на отсутствующую косую черту в конце http://node_server8 во втором блоке кода.Это особенно странно, поскольку у меня есть несколько других конфигураций, в которых у меня нет косой черты на бэкэнде, и все работает нормально.

1 Ответ

0 голосов
/ 06 декабря 2018

Они совершенно разные.

В первом операторе proxy_pass вы включили параметр URI со значением /.Во втором случае у вас нет.

Когда вы присваиваете proxy_pass параметр URI (в пределах префикса location), он преобразует запрошенный URI аналогично функции alias, в результате чего значениеДиректива location заменяет значение параметра URI.Например, /myapi/foo становится /foo перед передачей в восходящий поток.

Если вы не предоставите proxy_pass с параметром URI, преобразование не будет выполнено, и запрос /myapi/foo будет передан в восходящем направлении без изменений.

Подробнее см. в этом документе .

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