Веб-приложение Azure — маршрутизация разных внешних доменов в разные каталоги на «сайте»

Я долго искал ответ на свой вопрос, и после прополки возможных решений, которые могут иметь или не иметь никакого отношения к моему вопросу, я сломался, и вот я здесь. Заранее извиняюсь, если это повтор.

Быстрый фон:

Мой опыт работы с Azure ограничен, но я учусь.

Мы в Германии. Мой клиент решил, что мы переместим все наши веб-сайты на его платформу Azure с нашего текущего виртуального сервера STRATO. У нас есть 5 веб-сайтов, которые в настоящее время существуют на виртуальном сервере, которые необходимо переместить. Все это PHP/MySQL, у нас все настроено в нашей Azure для этого, так что проблем нет.

Поскольку TLD домена — .de и .plus, и вы не можете добавить их в саму Azure (что постоянно ставит меня в тупик по сей день), мы должны отредактировать запись DNS с помощью STRATO, и эту часть я тоже понимаю.

Структура каталогов представляет собой папку «сайт», а затем пять отдельных подпапок, по одной на каждый веб-сайт. Это нормально.

В Azure есть один поддомен — xxx.azurewebsites.net, он указывает на пустую папку «wwwroot», что тоже не проблема.

Вот две вещи, которые сводят меня с ума:

  1. Как именно указать каждому входящему Домену его конкретную поддиректорию в дереве? Учитывая, что веб-сайты — это PHP, а не ASP.NET, файла web.config, конечно же, нет.
  2. Где находится «безопасная зона» в структуре каталогов? Под этим я подразумеваю ту часть подкаталога в дереве Azure, которая недоступна ни для одного домена. У нас есть каталог, в котором хранится полуконфиденциальная информация в текущей структуре, к которой могут получить доступ только классы в каждом приложении, но она недоступна из Интернета. Я переместил копии веб-сайтов в подкаталоги внутри «сайта», я думаю, что безопасным каталогом обычно будет другой каталог под «сайтом», но верно ли мое предположение? Этот вопрос кажется сверхпростым, но я должен быть абсолютно уверен из-за содержимого папки.

В другом посте я читал, что нам потребуется одно веб-приложение на каждый входящий домен, надеюсь, это не так.

Я с удовольствием предоставлю любую дополнительную информацию, если она поможет.

Любая помощь будет принята с благодарностью! Заранее спасибо.

«В другом сообщении я читал, что нам потребуется одно веб-приложение на каждый входящий домен, надеюсь, это не так». - почему это может быть проблемой? Может быть гораздо лучшее решение с точки зрения разделения проблем. Вы можете запустить их все в рамках одного плана службы приложений, поэтому стоимость будет одинаковой. Затем, в зависимости от ваших потребностей, вы можете поставить перед ними что-то вроде Azure FrontDoor и выполнить маршрутизацию на основе пути.

silent 22.12.2020 10:15

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

jeHaw Services 22.12.2020 10:50
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
2
2
330
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Поэтому я бы рекомендовал пойти с этой установкой:

  • Azure FrontDoor (AFD) в качестве точки входа. Добавьте свои личные домены в AFD.
  • Несколько служб приложений, по одной для каждого из ваших приложений. Тогда вам не нужно беспокоиться о подпапках и т. д. Разверните каждое приложение в отдельной службе (в корневом каталоге).
  • Вы можете запускать все службы приложений в рамках одного плана службы приложений (за который вы платите).
  • Добавьте каждую службу приложений в качестве серверной части в AFD.
  • Добавляйте маршруты на основе пути в AFD
  • При необходимости включите брандмауэр веб-приложений в AFD.
  • Заблокируйте трафик в службах приложений, чтобы он исходил только от AFD, добавив ограничение доступа на основе тегов службы для Azure Front Door.

Идеально то, что я ищу. Я предложу это своему клиенту сегодня. Как только мы проверим это и оно сработает, я отмечу это как ответ. Ценю вашу помощь!

jeHaw Services 22.12.2020 11:28

рад что помогло!

silent 22.12.2020 16:50

Другие вопросы по теме