Конечный sla sh в индексе SPA без имени файла в Nginx - PullRequest
0 голосов
/ 11 июля 2020

Я прочитал и попробовал множество решений для этого и не решаю последний кусок этой головоломки.

У меня есть установка Nginx с одним поддоменом, который должен обслуживать множество прокси приложения / услуги. Я хочу переписать один из них во время прокси-сервера на серверную службу, чтобы добавить имя каталога. Тот, которому требуется имя каталога, имеет закодированные URL-адреса, параметры запроса и файлы stati c. Обычно у службы будет домен, заканчивающийся на /, и она также выполняет вызовы к /api.

У меня есть ...

        location /authsrv {
            rewrite ^\/authsrv\/(.*) /$1 break;
            proxy_set_header Authorization $http_authorization;
            proxy_set_header Host $host;
            proxy_pass_header  Authorization;
            proxy_pass         http://127.0.0.1:4593;
        }

Это, наряду с изменением конфигурации SPA за ним. использовать / authsrv / как URL-адрес root, работает для предварительного /authsrv/ для всего в проксируемой службе, прозрачно для самой службы.

Единственная проблема - это индекс, /authsrv без конечный sla sh в индексе SPA 404, предположительно потому, что 'ничего' не соответствует регулярному выражению группы захвата в перезаписи.

Как я могу явно добавить конечный sla sh позади /authserv при сохранении остальной части перезаписи, даже в индексе SPA, где содержимое за каталогом пусто?

1 Ответ

0 голосов
/ 12 июля 2020

Простой ответ, когда я сделал перерыв и подумал об этом ..

rewrite ^\/authsrv(.*) /$1 break;

Следовательно, регулярное выражение будет соответствовать независимо от того, присутствует ли завершающий sla sh или нет. Поскольку проблема заключается не в регулярном выражении, а в группе захвата после того, как она будет передана службе / приложению, прослушивающему URL-адрес root, способ сопоставления ведущего каталога не имеет значения.

...