Рейтинг:0

Перезапись Nginx с помощью proxypass

флаг pk

У меня есть Nginx, работающий перед узлом js-сервером (next.js). Я пытаюсь написать свою конфигурацию Nginx, чтобы добиться такого поведения, Я хочу добавить имя хоста в качестве первой части пути перед proxy_pass к узлу js.

например, клиент напишет a.com/ или же a.com/product/... или же a.com/**.
мое приложение nextjs, за исключением чего-то вроде http://a.com/[:имя_домена]/.... в то время как доменное имя совпадает с хостом.

поэтому цель состоит в том, чтобы изменить URL-адрес с a.com/** к a.com/a.com/**, прежде чем передать его на сервер nextjs.

конфигурация nginx, которую я создал:

место расположения / {
                # Сначала пытаемся обслужить запрос как файл, затем
                # в качестве каталога, затем вернуться к отображению 404.
                # try_files $uri $uri/ =404;
                # if ($host = a.com) { proxy_pass http://site/a/; }
                # if ($host = b.com) { proxy_pass http://site/b/; }
                переписать ^(/.*)$ /$host/$1 ;
                прокси_пасс http://сайт;
        }

но это не сработало.

Рейтинг:0
флаг za

Выглядит правильно, вы должны проверить, что восходящий поток получает в своем журнале доступа. Держу пари, ответ есть. Хотя я полагаю, что основная проблема в том, что вы забыли передать заголовок Host:

proxy_set_header Host <независимо от того, какой Host ожидается в восходящем потоке, но определенно не $host>

Но это будет подсказкой только в том случае, если вышестоящий сервер не является сервером по умолчанию или только одним.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.