<div dir="ltr"><div dir="ltr">Не Nginx, но бесплатно: <a href="https://www.haproxy.com/blog/dns-service-discovery-haproxy/">https://www.haproxy.com/blog/dns-service-discovery-haproxy/</a></div><div dir="ltr"><br></div><div>С уважением,<br>Александр</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">вт, 19 мар. 2019 г. в 17:30, Иван <<a href="mailto:nginx@kinetiksoft.com">nginx@kinetiksoft.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Здравствуйте!<br>
<br>
<br>
Есть необходимость выбирать апстрим для проксирования на основании<br>
информации из mysql-базы. Есть мысль задействовать для этого DNS-сервер<br>
с поддержкой mysql в бэкэнде (и A\AAAA записи с небольшим, порядка 30-60<br>
секунд TTL), например, powerdns и nginx примерно в такой конфигурации:<br>
<br>
Пусть DNS отвечает на <a href="http://127.0.1.1:53" rel="noreferrer" target="_blank">127.0.1.1:53</a> . У него бэкэнд в мускуле, в котором<br>
сотни A\AAAA записей вида<br>
<br>
<a href="http://user1.room1.example.com" rel="noreferrer" target="_blank">user1.room1.example.com</a> -> 1.1.1.1<br>
<br>
<a href="http://user2.room1.example.com" rel="noreferrer" target="_blank">user2.room1.example.com</a> -> 1.10.1.2<br>
<br>
<a href="http://user3.room2.example.com" rel="noreferrer" target="_blank">user3.room2.example.com</a> -> 1.200.1.100<br>
<br>
и т.п.<br>
<br>
которые (записи) периодически (раз в несколько часов) обновляет наше ПО.<br>
<br>
<br>
В nginx на прокси примерно такая конфигурация:<br>
<br>
location ~ ^/user/(?<room>\w+)/(?<user>\w+)$ {<br>
<br>
resolver 127.0.1.1;<br>
<br>
proxy_pass http://$user.$<a href="http://room.example.com" rel="noreferrer" target="_blank">room.example.com</a>;<br>
<br>
}<br>
<br>
Будет ли в такой конфигурации запрос вида GET /user/room2/user3 к прокси<br>
уходить на 1.200.1.100, а GET /user/room1/user2 к прокси уходить на<br>
1.10.1.2,<br>
<br>
Когда я последний раз думал над этой схемой, мне казалось, что тут<br>
что-то доступно только в коммерческой подписке.<br>
<br>
<br>
С уважением, Иван.<br>
<br>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></blockquote></div>