Pull to refresh

Непутевые заметки об облачном хостинге от Azure

Reading time 4 min
Views 3.3K

Я хотел бы рассказать о том, как можно опубликовать вебсайт в Azure. Это довольно просто, но о совсем простых вещах я рассказывать не буду, так как это совсем не интересно. О сложных вещах вы тоже ничего не найдете. Просто напишу о том, что мне понравилось и что меня даже немного удивило.

Подкатом не очень много букв, куча дифирамб, немного критики, а также описание каких-то возможностей хостинга Azure, о которых, казалось бы, должны были бы все знать…

Для того чтобы создать вебсайт нужно нажать + и выбрать пункт Веб-приложение в категории «Интернет + мобильные устройства».



Дальше если захотите разберетесь сами. Уточню только минимальный тариф для Windows хостинга, который на данный момент мне удалось найти:



Можно пользоваться хостингом бесплатно, но если вам необходимо хостить домен, то стоимость составляет под 10 долларов. Для хостинга одного вебсайта это не особо дешево. Но если вам необходимо хостить несколько, то выгоднее выбрать базовую или стандартную ценовую категорию. Цена будет раза в 3-4 выше, но зато вы сможете хостить одновременно несколько сайтов. Появится поддержка SSL и множества других полезных фич. В результате может получится так, что стоимость хостинга в расчете не один сайт станет вполне себе сопоставимой со стоимостью обычного не облачного хостинга.

Мне всегда не нравился доступ только по FTP. Ведь пользоваться онлайновым файловым менеджером довольно удобно. И я почему-то думал, что развертывание в Azure происходит только из Visual Studio или систем контроля версий. Был удивлен, обнаружив вот это:



Публикация с помощью загрузки файлов в OneDrive и DropBox – это явно отличный вариант для меня. Остальное все оказалось именно таким, как я себе и представлял.

Для того чтобы узнать какие креденциалы использовать для подключения по FTP необходимо скачать файл профиля публикации.



Это обычный текстовый файл в котором вы можете найти URL имя пользователя и пароль.

Если вы мигрируете свой сайт в облако, то, очень вероятно, что сразу после миграции видео не будет воспроизводится. Также могут не отображаться верные шрифты. Для решения этого необходимо в web.config сопоставить расширения файла с его MIME (скорее всего это требуется, для того чтобы избежать MIME Sniffing-а).

  <system.webServer>
   <staticContent>
       <remove fileExtension=".mp4" />
       <mimeMap fileExtension=".mp4" mimeType="video/mp4" />
       <remove fileExtension=".woff" />
       <mimeMap fileExtension=".woff" mimeType="font/woff" />
       <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" />
     </staticContent>
</system.webServer>

Кроме того, если ваш сайт раньше был расположен на российском хостинге, то может «слететь» формат дат по причине изменения культуры. Поправить просто. В том же самом web.config нужно добавить

<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="ru-RU" uiCulture="ru-RU" />

Кроме того, ваша дата изменится на UTC. Чтобы вернуть ее в любимую тайм-зону необходимо в Application settings добавить настройку с именем WEBSITE_TIME_ZONE и значением, которое вы можете взять из реестра вашей локальной ОС Windows. Нужно открыть regedit и зайти по адресу HKLM\Software\Microsoft\Windows Nt\CurrentVersion\Time Zones. здесь вы сможете подобрать себе временную зону. Мне, например, подходит «Belarus Standard Time»

Теперь несколько слов и скринштов о функционале а-ля файловый менеджер. Azure использует движок под названием Kudu, в котором имеется возможность просматривать содержимое директорий и редактировать файлы. Это далеко не единственная возможность Kudu.



По ссылке «Вперед» мы попадаем в новое окно



Из которого уже по ссылке CMD попадаем в менеджер



Не самый очевидный путь для того чтобы найти файловый менеджер. Еще не очень очевидно то, что можно загружать файлы с компьютера с помощью drag and drop.

А вот пункт меню, в котором можно добавить домен найти довольно просто – пункт «Пользовательские домены». Но, как оказалось, в моем случае все не так уж и просто.
Дело в том, что Azure позволяет указать на домен с помощью CNAME или A record.

А мой регистратор доменных имен не позволяет указывать CNAME для домена. Да и в этом способе есть минус. www.yourdomain.com адрес будет привязан, в то время как yourdomain.com нет.

Остается A record. Для этого способа необходимо чтобы либо ваш регистратор позволял управлять DNS, либо создать DNS в Azure. Я выбрал второй вариант, так как возможности моего регистратора не дали мне права иного выбора. К тому же Azure-овский DNS стоит копейки, а точнее центы. На данный момент это:

Первые 25 размещенных зон DNS – 50 центов в месяц
Первый миллиард запросов DNS в месяц – 40 центов.

После создания зоны DNS наборы записей SOA и NS будут созданы автоматически.



Вам необходимо добавить наборы записей с именами @ и www, типом A и значением равным IP вашего веб приложения. Найти IP можно в пункте «Пользовательские домены» вашего приложения. Дополнительно необходимо добавить запись TXT с именем @ для вашего алиаса xxxxx.azurewebsites.net Это необходимо только для подтверждения того что вы хозяин домена. После подтверждения эту запись можно будет удалить.

После того как добавите наборы записей в DNS вернитесь в пункт «Пользовательские домены» и добавьте имена узлов с типом A Record. Нужно добавить 2 имени. Одно с www, а второе без.



Одним из плюсов мигрирования хостинга в Azure является то, что строку подключения к базе данных можно вынести из web.config в более секьюрное хранилище. Кроме того, можно вынести и какие-то параметры. Причем, касается это не только web.config и ASP.NET. Можно сохранять строки подключения и параметры других языков программирования.



Минусом я бы назвал отсутствие поддержки почты. Правильнее сказать она есть, но она включена в Office365. Мне это кажется довольно неудобным, хотя и следует признать, что почта outlook исторически была ближе к Live, чем к Azure.

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



И после этого необходимо добавить набор записей DNS со следующими параметрами:

Tags:
Hubs:
+1
Comments 6
Comments Comments 6

Articles