@dandyvssega
Начинаю кодить

Как проксировать трафик Nginx в зависимости от запроса от DNS сервера?

Как из запроса выдернуть домен и вставить в прокси.Вот конфиг прокси Nginx

server {
listen 80;
server_name localhost;
location / {
proxy_pass http://127.0.0.1:80;
}
}


DNS сервер отправиляет пользователя на мой сервер с Nginx, а вот как сделать чтобы в зависимости от сайта которого ввел пользователь Nginx отправлял его куда надо я немогу понять.
Нужно чтобы типо при запросе на google.com конфиг становился
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://google.com:80;
}
}


При запросе yahoo.com

server {
listen 80;
server_name localhost;
location / {
proxy_pass http://yahoo.com:80;
}
}


Что то типо определения куда человеку надо и подстановку этого значения в прокси nginx.Спасибо
  • Вопрос задан
  • 4821 просмотр
Решения вопроса 1
Lynn
@Lynn
nginx, js, css
location / {
    proxy_pass http://$http_host$request_uri;
    proxy_set_header Host $http_host;
    resolver 77.88.8.8;
}


В качестве resolver указать любой DNS-сервер, только не тот, который всех отправляет на ваш nginx, а то получите рекурсию.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
risik
@risik
Программист
Если я правильно понял, что Вам надо, то Вам надо
server_name localhost;
localhost заменить на имя Вашего сервера.
Ответ написан
qmax
@qmax
программер
Может, вам $hostname ?
Ответ написан
Комментировать
@dandyvssega Автор вопроса
Начинаю кодить
Если делаю так

server {
listen 80;
server_name localhost;

location / {
proxy_pass http://$hostname:80;

}
}

То получаю 502 Bad Gateway
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы