vitus_wagner: My photo 2005 (Default)
vitus_wagner ([personal profile] vitus_wagner) wrote2015-06-12 05:54 pm

SNIproxy

Нашел тут замечательный инстурмент SNIProxy

Позволяет решить задачу раскидывания https-траффика по машинам (в том числе виртуальным), сидящим за однм внешним IP. Причем полноценного такого раскидыванрия. когда каждый сервер имеет собственные ключи и хранит их у себя, может сам проверять клиентские сертификаты etc.

Под Bananian собралось, тестирвоать еще не тестировал, потому что для тестирования нужно иметь хотя бы два https-ных сервера, в локальной сети. А у меня в ЭТОЙ сети нет ни одного.

Хотя, конечно, такую штуку надо держать на роутере, а не на одном из серверов внутри сети. Но собирать ее под dd-wrt или openwrt мне ломы.

[identity profile] inkelyad.livejournal.com 2015-06-12 05:11 pm (UTC)(link)
О оно весь трафик через себе пропускает, или механизмами ядра tcp сессию дальше на нужный сервер отправляет?

[identity profile] gunslinger2.livejournal.com 2015-06-12 09:41 pm (UTC)(link)
А в чем отличие от nginx с +sni?

[identity profile] foboss.livejournal.com 2015-06-14 04:53 am (UTC)(link)
Nginx научился работать в режиме "ssl passthrough" (без терминации сессий SSL) начиная с 1.9.0 (в opensource версии, в "Nginx+" раньше).

А так, как правило для целей tcp-проксирования ставят HAProxy. Он умеет очень многое: тот же ProxyProtocol, который отправляет на backend ip-адрес клиента в режиме TCP (без терминации ssl!) или, к примеру, можно сделать так, что на 80 порту браузеру будет отдаваться nginx/apache, а ssh-клиенту — sshd.
Edited 2015-06-14 04:54 (UTC)

[identity profile] octagram (from livejournal.com) 2015-11-05 08:46 pm (UTC)(link)
Через полноценный HTTP проксик будет виден IP. А через SNIProxy — нет, что существенно уменьшает диапазон применений. Я некоторые свои сайты и сервисы просто не могу представить работающими вслепую, чтоб они не знали, с кем имеют дело.

Не хватает протокола, обратного SOCKS. В SOCKS мы открытым текстом указываем, с кем хотим соединиться, и дальше соединение как обычно. А в обратном SOCKS обратный прокси типа SNIProxy открытым текстом указывает, кто с нами хочет соединиться, и дальше соединение как обычно.