Вот моя ситуация: у меня есть сетевое устройство с интерфейсом веб-страницы, и разработчики этого устройства, по их мудрости, не включили какой-либо контроль доступа или шифрование для веб-интерфейса - т.е. в той же локальной сети может указать своему веб-браузеру http://the.ip.address.of.this.device
и немедленно начать контролировать его (потенциально нежелательными) способами.
В то же время у меня есть клиент, который хочет развернуть это устройство, чтобы он мог управлять им через общедоступную / ненадежную сеть Wi-Fi (например, из гостевой сети Wi-Fi своего предприятия). Чтобы избежать несанкционированного доступа к этому устройству, он (вполне разумно) хочет, чтобы веб-интерфейс устройства использовал шифрование https / TLS, и он хочет, чтобы веб-страница запрашивала пароль перед предоставлением доступа.
Учитывая, что я не могу (легко) обновить прошивку на этом устройстве, моя идея решить эту проблему заключается в том, что вместо того, чтобы помещать это устройство непосредственно в локальную сеть, я помещаю интерфейсное прокси-устройство в локальную сеть и подключите мое небезопасное устройство только ко второму порту Ethernet на прокси-устройстве. Тогда у меня может быть какое-то программное обеспечение веб-прокси, работающее на прокси-устройстве, так что когда клиент выполняет аутентифицированный https
подключение через Wi-Fi к прокси-устройству, оно перенаправит это соединение (как незашифрованное /http:
подключение) к незащищенному устройству.
Похоже, это будет работоспособное (хотя и неэлегантное) решение; у меня вопрос, как обычно это делается? то есть мне нужно настроить свой собственный компьютер с Linux, а также установить и настроить Программное обеспечение TLS termination proxy на нем, или есть более простой способ сделать это? (Я спрашиваю, потому что все программное обеспечение, указанное на этой странице Wiki, кажется, что оно предназначено для массовых бизнес-потребностей, то есть для тысяч одновременных клиентов, и похоже, что это может быть излишним для этого варианта использования, когда количество одновременных клиентов будет варьироваться от нуля до двух снаружи, и каждый клиент будет выполнять только очень легкие операции)