Адрес CDN Есть решение

Недавно в фреймворке появилась поддержка CDN, в настройках сайта есть поле - Адрес CDN

Вот только как этой настройкой пользоваться непонятно, я пользуюсь cloufire, напишите пожалуйста несколько примеров этой настройки. И как узнать к какому CDN какие настройки подходят.

Спасибо.

28 ответов

  • 2
    Леонид Вакуленко 16 апреля 2015 08:47 # Решение

    Чтобы подключить CloudFlare, во фреймворке ничего настраивать не нужно. CloudFlare делает так, что все запросы от пользовательских браузеров идут сначала на сервера CDN. Статика - картинки, js, css - отдаётся сразу, и до вашего сервера такие запросы вообще не доходят. С вашего сервера берутся только страницы с контентом.

  • 4
    Леонид Вакуленко 16 апреля 2015 08:53 # Решение

    Поддержка CDN, которая настраивается во фреймворке, нужна для другой схемы. Все запросы от пользовательских браузеров идут на ваш сервер. Сервер отдаёт страницы с контентом. Но все адреса картинок, js, css в контенте заменены с адреса вашего сервера на адреса CDN. И теперь запросы на статику опять не попадают на ваш сервер, но уже по другой причине: потому что URL поменялся и ведёт на другие сервера.

    • +1
      Игорь_Д Игорь_Д 8 октября 2015 16:47 #

      Подскажите на дефолтной теме и моей слетают стили и верстка сайта на всех страницах. Заменил переменную {$wa_url} на{$wa_static_url}. нашел только 3 шт на главной странице, больше нет. ТП сказала больше ждать сегодня протестировал более 30 минут и нет результата так же все криво. Пользовался cloufire, но почему то после смены хостинга на Российский от webasyst стало жутко хуже чем без него. Что можно сделать?

  • 1
    Arti 19 апреля 2015 13:54 #

    а как работает cdn с https? Есть ли возможность грузить только хттп из CDN? Т.к. у публичных серверов не всегда есть поддержка ssl, да и wildcard domain ssl штука не дешевая.

    • +1
      Леонид Вакуленко Леонид Вакуленко 20 апреля 2015 04:36 #

      Встроенный механизм очень простой и не различает http/https. Но можно применить mad skillz.

      Есть конфиг, где хранятся настройки домена, в том числе адрес CDN. Например:

      wa-config/apps/site/domains/localhost.php

      Если вместо простой строки 'cdn' => '...' добавить туда вызов функции, это сработает:

      <?php
      return array (
        'cdn' => get_cdn_url(),
      );
      
      function get_cdn_url() {
          if (waRequest::isHttps()) {
              return '';
          }
          return 'http://localhost';
      }
      

      Mad skillz не без недостатков. При сохранении настроек домена через админку в приложении Сайт все эти модификации, конечно, затрутся. Если пойдёте этим путём, файл я бы на всякий случай защитил правами доступа.

      • +1
        Леонид Вакуленко Леонид Вакуленко 20 апреля 2015 04:55 #

        Поправка. Код функции придётся поместить перед return'ом и обернуть в if (!function_exists('get_cdn_url')) { ... }, потому что файл может подключаться несколько раз.

  • 1

    уточните, изображения товаров так же будут отдаваться со стороны адреса CDN?

    • +1

      Да. Вся статика, для которой урлы генерятся через $wa->... или с использованием $wa_static_url, $wa_app_static_url, $wa_theme_url, $wa_parent_theme_url, $wa_active_theme_url.

      • +1
        Тоторо Тоторо 17 сентября 2015 12:43 #

        Леонид,

        В случае изменения статики (картинок) в течении какого времени CDN обновит данные?

  • 1
    Дорошенко Алексей 23 октября 2015 04:36 #

    мне в cloudflare дали 2 адреса

    • fred.ns.cloudflare.com
    • mona.ns.cloudflare.com

    какой из них вставлять в поле CDN в настройках вебасиста?

    на моем хостинге (хостлайф) нужно делать какие-то изменения?

    • +2

      Может, в этом комментриикакое-то непонятное слово есть или еще что-то?

      • +1
        Дорошенко Алексей Дорошенко Алексей 23 октября 2015 04:47 #

        так это поле оставлять пустым?

        куда тогда вставить эти 2 адреса? у регистратора домена?

    • +1
      Леонид Вакуленко Леонид Вакуленко 23 октября 2015 05:06 #

      Это адреса DNS, domain name servers. Их нужно вписать в настройках домена (в Ru-Center или у хостера, где вы регистрировали домен). Как, собственно, указано во всех инструкциях CloudFlare.

      В настройках фреймворка ничего менять не нужно. Поле CDN нужно оставить пустым.

      Если вы сомневаетесь, то лучше найти понимающего человека. Чтобы он убедился, что и в DNS вашего домена, и в настройках DNS в аккаунте CloudFlare всё в порядке. Потому что если не в порядке, то сайт перестанет открываться (но обнаружите вы это только через несколько часов, и на исправление ситуации тоже уйдёт несколько часов - DNS штука капризная).

  • 1
    Дорошенко Алексей 23 октября 2015 04:40 #

    куда будут попадать новые фотки товаров при создании товаров- на мой хостинг или на хостинг CDN ? какой лимит дискового места на cloudflare ?

  • 1
    Leva 23 декабря 2015 03:35 #

    Все описано в данном разделе https://support.webasyst.ru/4418/cdn/

  • 1
    Валерий 24 июня 2018 18:28 #

    Как можно отключить адреса картинок от CDN ?

    Чтобы картинки сохраняли адреса сайта, а не https://1437982878.rsc.cdn77.org/wa-data/public/shop/products/31/20/2031/images/4550/kulon-pryamougolnyi.970.jpg

  • 1
    Геннадий 8 августа 2018 14:23 #

    Включили HTTPS на cloudflare. Сайт при попытке открыть https выдает 502 . В чем может быть проблема?

    • +1

      А у вас сайт сам по себе работает по https ? На сколько я знаю CF не заменяет собой шифрование, или там есть настройка при которой CF к вашему сайте всегда обращается без шифрования, а уже отдает с шифрованием. Я уже не помню какие там настройки у CF по этому поводу.

      • +1
        Геннадий Геннадий 10 августа 2018 09:37 #

        Неа. Не работал. Просто "несуществует такой домен". Возможно у регистратора надо что-то просить включить?

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите