Рис. 27 Выходные данные трассировочного маркера на пограничном сервере CDN Задача 6. Публикация содержимого по протоколу HTTPS
Во многих веб-приложениях страницы, к которым производится обращение по протоколу HTTPS, часто ссылаются на другое статическое содержимое. В таком случае можно получить выигрыш от использования CDN для доставки, например изображений и таблиц стилей. Однако, если такое содержимое опубликовано по протоколу HTTP, тогда как остальная часть содержимого использует протокол HTTPS, вызовет появление предупреждений безопасности в браузере, что в целом снизит удобство работы для пользователей. Включение протокола HTTPS для конечной точки CDN позволит избежать этой проблемы, обеспечив надежную доставку всего содержимого. В этой задаче рассматривается настройка приложения данной практической работы для использования протокола SSL и его локальный запуск в эмуляторе вычислений в целях наблюдения за предупреждениями безопасности о смешанном содержимом. После этого необходимо будет включить поддержку протокола HTTPS для конечной точки CDN и проверить приложение еще раз, чтобы убедиться в том, что предупреждения больше не выводятся. В обозревателе решений разверните узел Роли в проекте CDNService и дважды щелкните роль CDNSample для открытия окна свойств. Выберите вкладку Конечные точки, найдите конечную точку с именем HttpIn и измените ее Протокол на https.
Рис. 28 Включение протокола SSL в веб-роли Примечание. Как правило, чтобы включить протокол SSL для конечной точки роли, необходимо указать сертификат на вкладке Сертификаты и назначить этому сертификату конечную точку HTTPS в разделе Имя SSL-сертификата. В этом случае можно лишь проверить приложение в эмуляторе облака, который использует собственный самозаверяющий сертификат, так что этот шаг можно пропустить. Дополнительные сведения о защите приложений Windows Azure с помощью протокола SSL см. в практической работе Развертывание приложений в Windows Azure данного обучающего набора. Чтобы построить и запустить приложение в эмуляторе облака, нажмите клавишу F5. Обратите внимание, что в браузере отображается предупреждение безопасности относительно сертификата безопасности сайта. Чтобы продолжить, перейдите по ссылке Перейти на веб-сайт (не рекомендуется).
Рис. 29 Предупреждение безопасности о ненадежном сертификате Примечание. Эмулятор облака использует свой собственный самозаверяющий сертификат для обеспечения поддержки протокола SSL. Однако центр сертификации для используемого им сертификата не является доверенным, поэтому выводится предупреждение. Это предупреждение не относится к проблеме, рассматриваемой в этом упражнении, поэтому его можно проигнорировать при локальном тестировании приложения. После перехода на веб-сайт обратите внимание, что браузер отображает предупреждение безопасности о том, что некоторое содержимое на странице, которую вы собираетесь просматривать, было доставлено с помощью протокола отличного от HTTPS.
Рис. 30 Предупреждение безопасности о защищенном содержимом Примечание. Риск отображения смешанного содержимого заключается в том, что небезопасная веб-страница или скрипт может иметь доступ к информации из безопасного содержимого. Обратите внимание, что страница обрабатывается неправильно, поскольку не были извлечены таблица стилей и изображения из CDN по протоколу HTTP.
Рис. 31 Отсутствующие элементы при просмотре только безопасно доставленного содержимого Обновите страницу повторно и нажмите кнопку Показать все содержимое в предупреждении безопасности. Обратите внимание, что страница отображается правильно, но такой подход вынуждает следовать небезопасной практике. Чтобы выйти из приложения и отключить отладчик, закройте окно браузера. Вернитесь на портал управления, перейдите на вкладку Размещенные службы, учетные данные хранилища и CDN и выберите параметр CDN. На средней панели выберите конечную точку CDN, созданную ранее для учетной записи хранилища, и установите флажок в поле HTTPS на ленте.
Рис. 32 Включение поддержки протокола HTTPS для конечной точки CDN После включения поддержки HTTPS необходимо распространить изменения в каждый узел сети доставки содержимого (CDN). Прежде чем продолжить выполнение следующих шагов, подождите как минимум 60 минут либо, если не хотите ждать, перейдите к следующему упражнению, выполнение которого не зависит от наличия протокола HTTPS. Позже можно будет вернуться к этой задаче и завершить ее. Далее откройте файл UrlHelperExtension. cs в папке Helpers проекта CDNSample и найдите метод StaticContent. В строке кода, который формирует URL-адрес ресурса в CDN, измените используемую схему с http на https.
Рис. 33 Сопоставление статического содержимого с конечной точкой HTTPS Чтобы перезапустить приложение в эмуляторе вычислений, снова нажмите клавишу F5. Пропустите предупреждение о ненадежном сертификате, которое не связано с рассматриваемым в этой задаче вопросом, и обратите внимание, что на этот раз доступ к домашней странице приложения можно получить без отображения предупреждений безопасности в браузере.
Рис. 34 Получение содержимого HTTPS из CDN Упражнение 2. Управление истечением срока действия кэша и версиями ресурсов
НЕ нашли? Не то? Что вы ищете?
Задача 1. Управление временем существования закэшированного ресурса CDN
В этой задаче выполняется обновление приложения таким образом, чтобы при каждом обращении к домашней странице на отображаемое на этой странице накладывался заголовок с текущим временем, а затем выполнялось сохранение обновленного изображения в хранилище больших двоичных объектов с заданием времени жизни 30 секунд. Чтобы показать, как значение параметра времени жизни (TTL) влияет на ответы из CDN, добавим на страницу второе изображение, источником которого будет являться исходный большой двоичный объект, разрешающий просматривать изображение, извлеченное из службы больших двоичных объектов, и параллельно изображение, возвращенное CDN. Откройте Visual Studio с правами администратора, выбрав Пуск | Все программы | Microsoft Visual Studio 2010, щелкнув правой кнопкой мыши пункт Microsoft Visual Studio 2010 и выбрав команду Запуск от имени администратора. Если откроется диалоговое окно Контроль учетных записей, подтвердите продолжение действия. В меню Файл выберите пункт Открыть, затем щелкните Проект/Решение. В диалоговом окне Открытие проекта в папке Source практической работы выберите Ex2-CDNVersioning\Begin, укажите Begin. sln и нажмите кнопку Открыть. Кроме того, можно перейти к решению, выполненному в ходе предыдущего упражнения. Примечание. Если работа начинается с нового решения, настройте конечную точку CDN в методе расширения StaticContent в файле UrlHelperExtension. cs папки Helpers. Чтобы указать параметры учетной записи хранилища, включая имя вашей учетной записи хранилища и ключ доступа, необходимо обновить строку подключения. Для этого замените заполнители [YOUR-ACCOUNT-NAME] и [YOUR-ACCOUNT-KEY] в файле ServiceConfiguration. cscfg, где [YOUR-ACCOUNT-NAME] — это имя учетной записи в хранилище Windows Azure, а [YOUR-ACCOUNT-KEY] — ключ доступа.
Рис. 35 Настройка строки подключения учетной записи хранилища Windows Azure Примечание. Учетная запись хранилища — это уникальная конечная точка для служб больших двоичных объектов, очередей и таблиц Windows Azure. Для использования этих служб необходимо создать учетную запись хранилища на портале управления.
Рис. 36 Первоначальный запрос показывает, что содержимое, кэшируемое CDN, соответствует большим двоичным объектам источника Обновите страницу в браузере. Обратите внимание, что обновленная отметка времени отображается на изображении, полученном из службы больших двоичных объектов (нижнее), в то время как изображение, возвращаемое из CDN (верхнее), по-прежнему показывает исходную отметку времени. Кроме того, в таймере Предполагаемое время жизни (TTL) отображается снижение времени жизни большого двоичного объекта, кэшируемого сетью доставки содержимого.
Рис. 37 Запрос отображает, что CDN возвращает закэшированное содержимое Примечание. Поскольку заголовком Cache-Control большого двоичного объекта, содержащего изображение, определено время жизни в 30 секунд, CDN будет возвращать закэшированные изображения до тех пор, пока не истечет срок действия. Обновите страницу несколько раз, прежде чем таймер времени жизни (TTL) достигнет нуля, чтобы убедиться в том, что изображение из CDN находится в кэше. Примечание. Действие контроллера по отображению страницы вычисляет значение времени жизни (TTL), отображаемое на этой странице. Но обратите внимание, что это лишь приблизительная оценка, в конечном счете время жизни (TTL) закэшированного большого двоичного объекта определяется моментом, когда браузер выполняет свой первоначальный запрос к CDN для извлечения изображения. Значение выводится для удобства пользователя, но и другие факторы также могут способствовать повышению задержки между моментом времени, когда сервер осуществляет вычисление, и моментом, когда браузер отображает страницу, что может привести к несоответствиям. Это значение используется просто как приблизительный индикатор. В заключение дождитесь окончания времени жизни (TTL) и обновите страницу еще раз. Обратите внимание, что, как только время жизни (TTL) истекло, после обновления страницы оба изображения снова покажут одинаковую отметку времени, указывая на то, что сеть доставки содержимого (CDN) произвела выборку изображения из хранилища больших двоичных объектов и повторно поместила его в кэш.
Рис. 38 Ожидание окончания времени жизни большого двоичного объекта в кэше CDN Задача 2. Признание содержимого в кэше CDN недействительным с помощью управления версиями
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 |


