У меня следующая установка:
Чего я пытаюсь достичь:
Требовать доступ через VPN к подмножеству Traefik Frontends.
У меня есть другие сервисы на AWS (например, RDS), чья SecurityGroup настроена так, чтобы разрешать доступ только изнутри подсетей (VPC), что отлично работает. Я не могу получить к ним доступ, когда я отключен от VPN, и наоборот.
Однако при попытке добавить белый список в Traefik с ограничением диапазона источников я всегда получаю ошибку 403 вне зависимости от того, нахожусь ли я в VPN или нет.
Я использую следующую конфигурацию для своей точки входа:
Name:http
Address::80
ProxyProtocol.TrustedIPs:172.31.16.0/20,172.31.20.0/20
ForwardedHeaders.TrustedIPs:172.31.16.0/20,172.31.20.0/20
WhiteList.UseXForwardedFor:true
В моем целевом контейнере я добавил следующее ограничение:
traefik.frontend.whiteList.sourceRange=172.31.16.0/20,172.31.20.0/20
Журналы Traefik показывают мне следующее:
Запрос VPN -> (Открытый для Интернета) IP-адрес экземпляра EC2
Запрос без VPN -> IP моего компьютера / интернет-провайдера
Когда я меняю диапазон источника на IP-адрес экземпляра IP-адреса сервера EC2, все работает, как ожидалось, однако я бы предпочел решение, которое позволяет мне использовать диапазон подсети (в случае добавления новых серверов).