HTTPS-трафик не работает с VPN и прокси
Я имею:
1) VPN-сервер (SoftEther), к которому я подключен.
2) Правила таблиц IP для отправки всего трафика из VPN на прокси-сервер.
3) Прокси-сервер (Java). Я использую LittleProxy https://github.com/adamfisk/LittleProxy. Он не перехватывает HTTPS-трафик.
Все эти предметы связаны вот так:
VPN-клиент ===> VPN-сервер ===> Прокси-сервер ===> Интернет
HTTP-трафик работает нормально, а HTTPS - нет.
Когда я пытаюсь перейти на https://google.com/, я вижу ошибку в Chrome: этот сайт не может обеспечить безопасное соединение
Когда я подключаю браузер напрямую к прокси-серверу - HTTPS работает нормально
Когда я подключаюсь только к VPN серверу - HTTPS работает нормально.
Такая же проблема появляется, если я переключаю VPN на OpenVPN.
После анализа трафика я обнаружил, что HTTPS-запросы пытаются перейти по протоколу HTTP на HTTPS-адрес. Кажется, есть некоторые проблемы с перенаправлением, так как, когда я просто захожу на www.google.com, после 2 перенаправлений (сгенерированных Google) я могу связаться с Google через https, но при вводе https//google.com - ошибка,
В Wireshark я получил ошибку 400: Экспертная информация (Предупреждение / Безопасность): незашифрованный протокол HTTP, обнаруженный через зашифрованный порт, может указывать на опасную неверную конфигурацию.
Правила моих таблиц IP:
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- ip-192-168-200-0.ec2.internal/24 anywhere tcp dpt:http to:172.31.64.145:9090
DNAT tcp -- ip-192-168-200-0.ec2.internal/24 anywhere tcp dpt:https to:172.31.64.145:9090
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- ip-192-168-200-0.ec2.internal/24 anywhere
MASQUERADE all -- ip-192-168-200-0.ec2.internal anywhere
Где 172.31.64.145:9090 - IP прокси-сервера.
VPN-сервер и прокси-серверы работают на одном экземпляре AWS.