Обратный прокси-сервер Nginx на основе запрошенного URL - PullRequest
0 голосов
/ 27 января 2019

Я бы хотел настроить свой nginx как обратный прокси-сервер, который позволит мне такие вещи:

запросов, таких как:

test.xxx.dev.example.com -> xxx.domain.dev.example.com

test.yyy.dev.example.com -> yyy.domain.dev.example.com

Моя текущая конфигурация:

server_name ~^test/.(?<app>\w+)\.dev\.example\.com
location / {
  proxy_pass http://$app.domain.dev.example.com/;
}

Я получаю 502 ошибку.Журналы говорят: не определен определитель для разрешения«решить ...» исчезает, но появляется новое:

.domain.dev.example.com не может быть разрешено, хост не найден. По некоторым причинам переменная $ app не передаетсяДиректива proxy_pass. Есть идеи?

1 Ответ

0 голосов
/ 27 января 2019

Ну, похоже, проблема была в резольвере и неправильном регулярном выражении.Ниже конфиг работает для меня, как и ожидалось:

resolver 127.0.0.11;

server {
  listen 80;
  server_name ~^test\.(?<app>.+)\.dev\.example\.com$;
  location / {
    proxy_pass http://$app.domain.dev.example.com$url;
  }
}

@ Ричард в моем регулярном выражении, я объявляю переменную и значение :) это делается с помощью "? <'App>", где app - имя переменной.

Спасибо за все советы и помощь!

...