Рейтинг:0

Настройка nginx с условным обратным прокси для некоторых маршрутов

флаг my

У меня есть сервер laravel, выходящий на wordpress, размещенный на другом сервере. Сервер laravel получает весь трафик. Я хотел бы направить определенные маршруты на локальный index.php (laravel), а все остальные на wordpress. Как это:

/a/* --> сервер laravel (локальный хост)
/b/* --> сервер laravel (локальный хост)
/* --> wordpress (отдельный сервер)

Мой nginx conf в настоящее время имеет это:

индекс index.html index.htm index.php;

расположение ~* /[a|b]/.+ {
  try_files $uri $uri/ /index.php?$query_string;
}

местоположение ^~ / {
  прокси_пароль https://10.0.1.44;
  proxy_set_header Хост $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

Wordpress получает все маршруты. Как я могу заставить /а/* и /б/* обслуживаться index.php на локальном сервере?

Рейтинг:2
флаг us

Проблема в расположение ^~ / директива.Это делает соответствие префикса явным и не позволяет nginx просматривать совпадения регулярных выражений.

Попробуйте следующее:

расположение ~*^/[ab] {
     try_files $uri $uri/ /index.php?$query_string;
}

место расположения / {
    прокси_пароль https://10.0.1.44;
    proxy_set_header Хост $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

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

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