Назад | Перейти на главную страницу

Ограничения шлюза приложений Azure - SSL-сертификат с подстановочными знаками

У нас есть ~ 60 клиентских приложений, каждое со своим собственным URL-адресом субдомена в общем домене, то есть client1.domainname.com, client2.domainname.com ... - все они покрываются одним шаблоном SSL-сертификата * .domainname.com. В настоящее время размещается локально с парой LB и двумя внутренними узлами IIS с использованием заголовков узлов для URL-адресов поддоменов и привязки сеансов cookie.

Нам нужно перенести эту среду в Azure и использовать шлюз приложений. К сожалению, у AG есть серьезные ограничения. https://docs.microsoft.com/en-us/azure/azure-subscription-service-limits?toc=%2fazure%2fapplication-gateway%2ftoc.json#application-gateway-limits, а именно:

1) HTTP Listeners   20
2) Number of sites  20  1 per HTTP Listeners
3) URL Maps per listener    1

Вопросы:

A) относительно # 2, может быть подстановочный домен *. domainname.com рассматривается как 1 сайт / используется в Имя хоста свойство определения слушателя?

Б) локальных серверных узлов всего 2, и мы предпочитаем то же самое в Azure для экономии средств; Я понимаю, что несколько наборов AG не могут указывать на одни и те же серверные виртуальные машины. Может ли обходной путь для этого иметь несколько виртуальных сетевых адаптеров на виртуальную машину и указывать на разные наборы AG, то есть набор AG1-> первичный vNIC0, набор AG2-> вторичный vNIC1, набор AG3-> вторичный vNIC2?

Извините за загруженный вопрос, но я надеюсь, что другие сочтут этот пост очень полезным, поскольку подробную информацию по этой теме получить нелегко.

Пример слушателя:

"httpListeners": [
    {
        "name": "appGatewayHttpsListener1",
        "properties": {
            "FrontendIPConfiguration": {
                "Id": "/subscriptions/<subid>/resourceGroups/<rgName>/providers/Microsoft.Network/applicationGateways/applicationGateway1/frontendIPConfigurations/DefaultFrontendPublicIP"
            },
            "FrontendPort": {
                "Id": "/subscriptions/<subid>/resourceGroups/<rgName>/providers/Microsoft.Network/applicationGateways/applicationGateway1/frontendPorts/appGatewayFrontendPort443'"
            },
            "Protocol": "Https",
            "SslCertificate": {
                "Id": "/subscriptions/<subid>/resourceGroups/<rgName>/providers/Microsoft.Network/applicationGateways/applicationGateway1/sslCertificates/appGatewaySslCert1'"
            },
            "HostName": "domainname.com" ,
            "RequireServerNameIndication": "true"
        }
    },

Если я правильно понял ваш вопрос, вам НЕ ТРЕБУЕТСЯ указывать путь для слушателя. Вместо этого вы можете использовать один глобальный прослушиватель для охвата всего вашего * .domain.com. Это помогает?