Доброго время суток!
У меня простой вопрос - как настроить reverse proxy на базе NGINX.
В кратце то что имеется в наличии:
1. Сервер N1 с 2-мя NICs: eth0 - public IP address(WAN); eth1 - private IP address(VLAN), 10.10.10.10.
2. Сервер N2 с 1-им NIC: eth0 - private IP address(VLAN), 10.10.10.11.
На обоих серверах установлен NGINX. Доступ к uplink-у(i.e. internet) имеется только через Сервер N1(у которого есть статический public IP address на eth0).
Задача:
если запрос идёт в формате example.com - обращаться к NGINX на Серверe N1;
если запрос идёт в формате example.com:90 - обращаться к NGINX на Серверe N2, т.е. весь трафик должен идти через reverse proxy на Серверe N1.
Была попытка решить задачу при помощи iptables:
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m conntrack --ctstate NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth1 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 90 -j DNAT --to 10.10.10.11:90
iptables -A FORWARD -p tcp -i eth0 -o eth1 -d 10.10.10.11 --dport 90 -j ACCEPT
При первом запросе - example.com:90/ - открывается страница с Сервера N2, но при следующем запросе происходит переадрисовка на
Сервер N1.
Все попытки найти инструкцию по настройке reverse proxy на NGINX не увенчались успехом(все инструкции, которые удалось нарыть в Goggle, были по настройке NGINX proxy в спарке с Apache, но мне необходимы настройки исключительно для NGINX).
Буду благодарен, если найдётся профи по этому вопросу!
С уважением,
Юрий