Домен, DNS, бакет, зачем они нужны
igor_zim — 29.12.2022Еще со времен старого блога, до перехода в ЖЖ, мне нравится, когда по клику на картинку открывается фотография именно в том виде, как я ее сделал. Не пережатая, не уменьшенная. Чтобы ее можно было рассмотреть во всех деталях, сохранить, выложить у себя (источник, конечно, не забудете указать).
А на странице блога помещаются маленькие картинки, которые загружаются быстро, даже если их много.
Я всегда делал 640 точек по длинной стороне. Но недавно прочитал, что редакция ЖЖ рекомендует не менее 1256, тогда везде хорошо смотрится, при любом разрешении экрана. Что ж, попробую так, теперь у всех мониторы большие.
Маленькие картинки загружаю прямо в ЖЖ, они много места не займут, и отведенного объема на годы вперед хватит.
Но где же хранить фотографии полного размера? Я знаю, у тех, кто всерьез занимается фотографией, тоже есть такая проблема. Место на фотохостинге ЖЖ рано или поздно заканчивается, даже на профессиональном аккаунте. И где хранить фотографии высокого качества, непонятно.
Поэтому я решил рассказать здесь, как сделать надежное хранилище для фотографий. Если покажется сложно, технические подробности можно пропустить. Разберемся с «зачем» — с «как» все решим. Если вам будет интересно или надо помочь, смело пишите в личку.
Раньше я пользовался бесплатными фотохостингами. Есть такие, что позволяют использовать прямые ссылки. Тут все предельно просто, загружаешь картинку, получаешь ссылку, в редакторе поста вставляешь ее куда надо.
Все было бы отлично, но бесплатный хостинг он бесплатный и есть. Во-первых, никаких гарантий, фотографию, которая хранится больше года, могут удалить в любой момент. Еще большая беда скорость. Если картинка открывается две минуты, ее все равно что и нет, никто столько ждать не станет. И доконало меня то, что политика все время меняется. На одном сайте было написано черным по белому, что прямые ссылки разрешены и всегда будут поддерживаться. Но внезапно, просматривая старые записи блога, я обнаружил, что по клику вместо чистой картинки загружается страница с рекламой.
В общем, несерьезно все это. Раз уж я занялся фотоохотой, надо придумать, как показывать фотографии в максимальном разрешении и никем не «оптимизированные».
Решение нашлось. Есть такой сервис, Yandex Cloud. Не бесплатный, но стоит сущие копейки, чуть больше двух рублей в месяц за каждый гигабайт, начиная со второго.
Что такое гигабайт? Скажем так. Я подключился в конце мая, с тех пор все фотографии для блога храню там. Прошло 7 месяцев, сейчас общий объем приближается к двум гигабайтам, и за все время израсходовано чуть меньше 10 рублей.
Хранилище файлов
Первым делом идем в Yandex Cloud, создаем платежный аккаунт. Там должен быть хоть один каталог. В каталоге устанавливаем сервис «Object Storage». Это наше хранилище.
В хранилище создаем бакет. Это что-то вроде раздела на диске, туда и будем складывать наши файлы. Важно задать для бакета правильное имя. Об этом чуть позже.
Собственно, уже можно пользоваться. Заходим в бакет, создаем папки, загружаем файлы.
Нажимаем на загруженный файл, получаем ссылку. Ее и вставляем в блог, картинка откроется.
Все ссылки имеют одинаковый вид, «storage.yandexcloud.net/<�Имя бакета>/<�Папка и имя файла>». Так что каждый раз получать ссылку через эту страницу не обязательно, можно просто отредактировать строку.
Для удобной загрузки есть приложение WinSCP с интерфейсом как у обычного проводника Windows.
Все работает, все отлично. Но только теперь мы привязаны к этому сервису. А времена меняются. Сколько, казалось бы, вполне надежных сервисов вдруг закрылись.
А когда объем хранилища станет очень большим, можно подумать и о том, чтобы арендовать или купить собственный сервер.
Что делать, если придется переезжать? Вручную править все ссылки во всех постах, которых будут уже сотни? Пойти утопиться?
Можно сделать, чтобы ссылки на наши картинки не зависели от того, где находятся файлы. Для этого существуют домены. И Yandex Cloud может с ними работать.
Домен
Что такое домен? Когда мы вводим в адресную строку текст «igor-zim.livejournal.com», это как раз он и есть. Иными словами, домен это имя сайта.
Чтобы хранить свои файлы в Yandex Cloud или где-то еще и не бояться переезда, надо зарегистрировать собственный домен.
Идем на сайт регистратора доменов, их несколько, мы воспользуемся reg.ru.
Придумываем имя для своего домена и регистрируем его. Это тоже стоит денег, но совсем небольших. За обычный домен в зоне .ru 120 рублей в год. Красивое имя стоит дороже. Но если нам только для картинок, то ничего такого не надо, никто это имя вручную вводить не будет. Я выбрал себе домен «igor-zim-livejournal.ru».
Теперь надо привязать домен к сайту. Yandex Cloud поддерживает работу с доменами третьего уровня, а регистрируются домены второго. Чтобы получить третий, просто добавляем в в начале «www.». То есть наш сайт будет иметь адрес «www.igor-zim-livejournal.ru».
Возвращаемся к нашим бакетам. Помните, я говорил, что надо дать бакету правильное имя? Так вот, бакет для сайта должен называться точно так же, как домен. Создаем бакет с именем «www.igor-zim-livejournal.ru». Загружаем в него файл index.txt с каким-нибудь приветственным текстом на английском. Он нам пригодится для проверки.
Там же, в бакете, слева в меню видим пункт «Веб-сайт». Заходим и настраиваем как на картинке — выбираем тип «Хостинг», заполняем поле «Главная страница».
Вы можете увидеть, что файлы из нашего бакета доступны по адресу «www.igor-zim-livejournal.ru.website.yandexcloud.net». Если ввести этот адрес в адресной строке браузера, мы увидим содержимое нашего файла index.txt. Сайт работает!
Работать-то он работает, но это же сайт Yandex Cloud! Для чего мы домен-то регистрировали? Как использовать для сайта наше имя?
DNS
Что происходит, когда мы набираем адрес в адресной строке браузера или переходим по ссылке? Первым делом браузер обращается к специальному серверу, который называется DNS – Domain Name Server. Именно там и задается, какое имя какому сайту соответствует.
Возвращаемся на сайт регистратора. Выбираем в меню слева «Домены», находим наш домен «igor-zim-livejournal.ru». Мы видим, что к домену подключены два DNS-сервера, ns1.reg.ru и ns2.reg.ru. Их всегда задают парами, для надежности.
Нажимаем «Изменить», затем «Добавить запись». Создаем запись типа CNAME, в поле «Subdomain» вводим «www», в поле «Canonical Name» то имя сайта, которое выдал Yandex Cloud — «igor-zim-livejournal.ru.website.yandexcloud.net.» (без www).
Нужно немного подождать. Система DNS-серверов устроена так, что информация там обновляется не сразу. Передохнем часок, потом набираем в адресной строке имя нашего сайта, «www.igor-zim-livejournal.ru» и видим текст из index.txt.
Теперь можно смело загружать в бакет фотографии и ставить на них ссылки в блоге. Они уже никуда не денутся, даже если вы перенесете свой сайт в другое место.
Для загрузки файлов лучше всего установить приложение WinSCP в соответствии с инструкцией.
Осталось совсем чуть-чуть. Мы проделали большую работу, создали хранилище для фотографий, научились делать на них ссылки, не привязанные к конкретному сервису. Наши фотографии открываются по ссылкам со страниц блога. Но если мы захотим вставить картинки из хранилища прямо в страницу — в новом редакторе же есть такая возможность, «Добавить код или ссылку» — браузер не станет их показывать.
Почему? Потому что страницы блога загружаются по защищенному протоколу, а наши картинки — по простому протоколу без шифрования. Браузер не откроет картинку на странице, если ее уровень безопасности ниже, чем у самой страницы.
Чтобы это исправить, нашему сайту нужен сертификат.
Сертификат
Снова идем в каталог Yandex Cloud, устанавливаем сервис Certificate Manager.
Если вы досюда добрались, вам уже не составит труда создать сертификат по инструкции, выполнить проверку. Пусть это будет домашним заданием.
Когда сертификат будет готов, идем в бакет, выбираем в меню «HTTPS», нажимаем «Настроить», выбираем наш сертификат (если его не видно в списке, проверьте, правильно ли указан домен при создании сертификата).
Снова надо немного подождать. Через некоторое время открываем нашу картинку, нажимаем на замочек рядом с адресной строкой, убеждаемся, что установлено защищенное соединение.
Теперь совсем все. Мы получили полноценный сайт для наших фотографий, с нашим собственным адресом, с защищенным соединением. Может показаться слишком сложно. На самом деле нужно только сделать несколько шагов, каждый из которых не сложнее, чем настроить электронную почту. А я всегда здесь, если что, помогу.
И теперь вы сможете долго радовать своих читателей отличными — и большими! — фотографиями, не боясь, что где-то закончится место.
|
</> |