Снимаем колесо.
Отсоединяем разъем датчика АБС. Если разъем не отсоединяется, датчик можно открутить.
Откручиваем суппорт от скобы, придерживая направляющие от проворачивания.
Старые колодки прочь, суппорт пока в сторону.
Старые колодки, пружины и болты в утиль.
Переходим к скобе.
Снимаем направляющие, пыльники. Инспектируем на предмет повреждений.
Снимаем скобу- она к ступице крепится болтами под головку "на 18". Болты также имеют внутренний SPLINE.
Снимаем тормозной диск, чтобы почистить все от грязи и от окалины. Диск крепится одним винтиком "под TORX".
Если диск просто так не снимается, можно помочь ему ВДшкой и кувалдочкой (только осторожно).
Измеряем толщину тормозного диска. Запас еще имеется.
Ну а дальше, особо кому заняться нечем, можно разобрать ступицу для ревизии и обслуживания подшипника. Об этом будет отдельный отчет. Кто ограничен во времени - переходим к сборке.
Диск и ступицу очищаем от ржавчины и покрываем медной смазкой, чтобы в следующий раз диск снимался без матюков. После установки рабочие поверхности диска обезжиривам растворителем.
Направляющие и их посадочные места хорошенько очищаем, механически и с помощью растворителя. На скобе очищаем места установки пружин.
Смазываем направляющие специальной смазкой. Синтетическая силиконовая высокотемпературная смазка. Никаких графиток, литолов и прочего мазохизма.
Так же очищаем пыльники и закладываем смазку и в них.
Все, скобу можно ставить на место. На болты наносим резьбовой герметик, а точнее фиксатор резьбы.
Переходим к суппорту.
С помощью специальной приспособы вдавливаем и одновременно закручиваем поршень.
Желательно следить, чтобы пыльник поршня не комковался и усаживался равномерно.
Пришло время доставать новый комплект колодок. Мой выбор - Ferodo.
В комплекте есть все что нужно - новые колодки, новые пружины и новый болты крепления.
Защелкиваем пружины в скобу, там ошибиться сложно. Рабочие поверхности пружин можно так же чем-то смазать, стараясь не обляпать диск. Новые колодки на месте, осталось только надеть сверху суппорт и закрепить в направляющих.
А дальше сборка в обратной последовательности.
Не забываем надеть разъем датчика АБС, поправить тросик ручника и несколько раз интенсивно поработать ручником, чтобы взбодрить механизм доводчика.
На этом все.
Good bye!
Вот такой незамысловатый наборчик специнструмента необходим для замены.
Наконец-то прикупил себе полу-проф. домкрат фирмы Airline, кстати рекомендую бренд - достаточно качественный Китай с большим ассортиментом. Домкрат неподъемный - 29 кг. Чисто гаражный вариант, зато устойчивость и удобство сумасшедшие.
Процедура замены колодок незамысловата. Для разборки системы нужно снять пружинный элемент, открутить шестигранником "на 7" направляющие пальцы и вытащить суппорт из скобы.
Суппорт для удобства стоит подвесить с помощью проволочного крючка на пружину.
С помощью специального инструмента задавливаем поршень внутрь цилиндра, заранее очистив от грязи пыльник и контролируя уровень тормозной жидкости в бачке, кабы чего не вышло (например перелива).
Очищаем всю систему (суппорт и скобу) металлической щеткой от грязи и продуктов износа (с одной стороны они препятствуют теплоотводу, с другой стороны забивают зазоры и мешают нормальному перемещению колодок). Новые колодки на своем месте - Ferrodo FDB1641.
Все места по которым перемещаются колодки стоит смазать высокотемпературной противоскрипной смазкой. Ну кроме дисков, конечно. Использовал Liqui Moly. По уму пальцы нужно смазывать спец. смазкой, но к своему стыду после начала работы так и не смог найти в гараже необходимый тюбик Textar Ceratec. Вообще для смазки пальцев, которые ходят в резиновых направляющих, рекомендуется использовать силиконовые высокотемпературные смазки.
Дальнейшая сборка сложности не представляет.
Старший Механик за работой. Не будем ему мешать.
Я был бы не я, если бы перед установкой нового комплекта колодок не проточил диск от буртиков и неровностей.
Точили вот такой приспособой. Маленький токарный станочек, закрепляемый вместо скобы суппорта.
К слову, минимальная толщина диска 22 мм. У меня сейчас 23 на обоих сторонах- на следующей замене колодок придется раскошелиться на новые диски.
Случайно, после работы, заглянул в заднюю подвеску.
Oh, Shit Happens! Где мои резиновые упоры?
И вот еще что напоследок.
Напоминаю всем любителям крутить гайки.
Перед вами два инструмента: "трещотка" и вороток. Они по назначению существенно отличаются.
Вороток предназначен для силовых работ - сорвать или затянуть нужный болт или гайку. При необходимости удлиняется рычагом (трубой).
"Трещотка" предназначена для текущих работ по откручиванию и не окончательному затягиванию.
И только так. Срывать или дотягивать болты "трещоткой" - занятие не умное, так как может привести к скорой гибели не предназначенного для таких работ инструмента.
Всем спасибо и до новых встреч!
На машине Фольксваген Кадди менять тормозные колодки нужно только в том случае, если старые выходят из строя. Осуществить процедуру можно самому. Причем стоит отметить, что выполнять ее нужно незамедлительно, так как в противном случае управлять автомобилем небезопасно.
Приобрести новые детали можно практически в любом автомобильном магазине, а можно так же заказать на сайте в интернете, тут уже вам решать какой способ является для вас более подходящим.
В видеоматериале, который можно найти в интернете по этой теме вы сможете посмотреть, как правильно и быстро осуществить работу. После выполнения работы вы сможете продолжить безопасную эксплуатацию вашего автомобиля. В заключении хочется отметить, что нужно постоянно следить за состоянием колодок.
Смотреть все фото новости >>
Никто не будет отрицать тот факт, что тормозная система самоходного транспортного средства, является одной из главных составляющих любого автомобиля.
Поэтому, прежде чем приступить к замене, необходимо позаботиться о покупке качественного комплекта, в том числе на автомобиль Volkswagen Caddy. Где приобрести комплектующие и как заменить тормозные колодки на Volkswagen Caddy, об этом ниже.
Приобрести запчасти на Фольксваген Кадди можно на автомобильном рынке. Да, это место словно магнит, притягивает к себе низкими ценами. Однако, именно на рынке, можно купить под видом оригинальных запасных частей дешёвую подделку.
Обращаться в специализированный сервисный центр – это гарантия приобретения оригинальных деталей. Но, цена не каждому водителю по карману. Где же эта золотая середина? Где мирно уживаются цена и качество?
Сегодня запчасти на Volkswagen Caddy можно приобрести в интернет-магазинах. Их услугами пользуются многие владельцы автомобилей. И число приверженцев дистанционного приобретения товара неуклонно растёт. В магазинах можно купить запчасти на Caddy и другие автомобили по приемлемой цене и получить ряд дополнительных услуг, о которых мы расскажем ниже.
Прежде всего, нам с вами уже не нужно тратить своё личное время на поиск продавцов, гоняясь за ними по всему городу. Достаточно открыть ноутбук или любимый гаджет, зайти в интернет и просмотреть предложения виртуальных продавцов. У каждого продвинутого продавца есть каталог запчастей на Volkswagen Caddy.
Зайдя на страницу магазина по ссылке dniprobus.com.ua/po-brendam/volkswagen/caddy/, можно самостоятельно подобрать интересующий вас товар, используя определённую систему поиска как-то:
● VIN код производителя;
● наименование запчастей;
● классификацию;
● производителя;
● по толщине, ширине и высоте продукции.
Важным аспектом выбора является наличие цены рядом с фотографией товара и краткое описание продукта. Удобно, несомненно. Каталог запчастей на Фольксваген Кадди даёт нам с вами возможность выбора того или иного производителя на определённых условиях.
Если возникают сомнения, или товара нет в каталоге, можно позвонить по указанным номерам телефонов и выяснить свой вопрос. Обычно, консультанты дают исчерпывающую информацию о наличии того или иного продукта, информируют о новых поступлениях и помогают с выбором. Согласитесь, что сегодня купить запчасти на Caddy стало намного проще. Ещё приятнее становится, когда магазин, предлагает определенные услуги.
С целью привлечения новых потенциальных покупателей интернет-магазины осуществляют адресную доставку товара. Это значит, что купить запчасти на Кадди может любой желающий не зависимо от его места проживания. Достаточно оформить заказ, и указать адрес доставки. Магазин самостоятельно и/или с помощью специальных транспортных служб отправит товар по назначению.
Ещё одна фишка виртуальных продавцов: оплачивать запчасти на Caddy и другую продукцию, можно по поступлению товара в ваш адрес. То есть, не нужно делать предоплату, которой мы боимся (вдруг обманут). Мы можем, получив товар, убедиться в
avtorin
143 Просмотров0 Лайк
avtorin
94 Просмотров0 Лайк
avtorin
206 Просмотров0 Лайк
avtorin
31 Просмотров0 Лайк
avtorin
52 Просмотров0 Лайк
avtorin
57 Просмотров0 Лайк
avtorin
43 Просмотров0 Лайк
avtorin
34 Просмотров0 Лайк
avtorin
14 Просмотров0 Лайк
avtorin
98 Просмотров0 Лайк
avtorin
33 Просмотров0 Лайк
avtorin
77 Просмотров0 Лайк
Caddy 2 - это совершенно новая кодовая база, написанная с нуля для улучшения Caddy 1. Caddy 2 не имеет обратной совместимости с Caddy 1. Но не волнуйтесь, для большинства базовых настроек мало что отличается. Это руководство поможет вам максимально упростить переход.
Это руководство не будет углубляться в новые доступные функции - которые, кстати, действительно крутые, вы должны их изучить - цель здесь - просто быстро научить вас работать с Caddy 2.
caddy
. Мы можем использовать «Caddy 2», чтобы уточнить, какая версия сделает переход менее запутанным. caddy
и обновленную конфигурацию Caddyfile
(после проверки работоспособности). caddy
. caddy
. Caddy больше не : 2015
. Порт Caddy 2 по умолчанию - : 443
или, если имя хоста / IP неизвестен, порт : 80
. Вы всегда можете настроить порты в своем config.
Caddy 2 по умолчанию - всегда HTTPS, если известно имя хоста или IP. Это отличается от Caddy 1, где только общедоступные домены по умолчанию использовали HTTPS.Теперь на каждом сайте использует HTTPS (если вы не отключите его, явно указав порт : 80
или http: //
).
IP-адресов и доменов localhost будут выданы сертификаты от локально доверенного встроенного центра сертификации. Все остальные домены будут использовать Let's Encrypt. (Все это настраивается.)
Изменилась структура хранения сертификатов и ресурсов ACME. Caddy 2, вероятно, получит новые сертификаты для ваших сайтов; но если у вас много сертификатов, вы можете перенести их вручную, если это не поможет вам.Подробности см. В проблемах № 2955 и № 3124.
Команда caddy
теперь называется caddy run
.
Все флаги командной строки разные. Удалить их; Вся конфигурация сервера теперь существует в фактическом документе конфигурации (обычно Caddyfile или JSON). Вы, вероятно, найдете то, что вам нужно, в структуре JSON или в глобальных параметрах Caddyfile, чтобы заменить большинство флагов командной строки из v1.
Команда типа caddy -conf ../Caddyfile
будет преобразована в caddy run --config../Caddyfile
.
Как и раньше, если ваш Caddyfile находится в текущей папке, Caddy найдет и использует его автоматически; в этом случае вам не нужно использовать флаг --config
.
Сигналы в основном такие же, за исключением того, что USR1 и USR2 больше не поддерживаются. Вместо этого используйте команду caddy reload
или API для загрузки новой конфигурации.
Запуск caddy
без какой-либо конфигурации, используемый для запуска простого файлового сервера. Эквивалент в Caddy 2 - это файловый сервер caddy
.
Переменные среды больше не актуальны, за исключением HOME
(и, необязательно, любых установленных вами переменных XDG_ *
). CADDYPATH
заменен условными обозначениями ОС.
Caddyfile v2 очень похож на то, с чем вы уже знакомы. Главное, что вам нужно сделать, это изменить свои директивы.
⚠️ Обязательно ознакомьтесь с новыми директивами! Особенно, если ваша конфигурация более продвинутая, здесь нужно учесть множество нюансов.Эти советы помогут вам переключиться в основном довольно быстро, но, пожалуйста, прочтите полную документацию по каждой директиве, чтобы вы могли понять последствия обновления. И, конечно же, всегда тщательно проверяйте свои конфиги, прежде чем запускать их в производство.
Если вы обслуживаете статические файлы, вам необходимо добавить директиву file_server
, поскольку Caddy 2 не предполагает этого по умолчанию. Caddy 2 также не обнюхивает MIME по умолчанию из соображений безопасности; если Content-Type отсутствует, вам может потребоваться установить заголовок самостоятельно с помощью директивы header.
В версии 1 вы могли фильтровать (или «сопоставлять») директивы только по пути запроса. В версии 2 сопоставление запросов намного мощнее. Любые директивы v2, которые добавляют промежуточное ПО в цепочку обработчиков HTTP или каким-либо образом манипулируют запросом / ответом HTTP, используют преимущества этой новой функции сопоставления. Подробнее о сопоставителях запросов v2. Вам нужно будет знать о них, чтобы разобраться в Caddyfile v2.
Хотя многие заполнители остались прежними, многие из них изменились, и теперь есть много новых, включая сокращения для Caddyfile.
Caddy 2 структурированы, и по умолчанию используется формат JSON. Все уровни журнала могут просто перейти к одному и тому же журналу для обработки (но вы можете настроить это при необходимости).
Если вы сопоставили запросы по префиксу пути в Caddy 1, сопоставление пути теперь по умолчанию в Caddy 2 точное. Если вы хотите сопоставить префикс, например, / foo /
, вам понадобится / foo / *
в Caddy 2
Здесь мы перечислим некоторые из наиболее распространенных директив v1 и опишем, как их преобразовать для использования в Caddyfile v2.
⚠️ Тот факт, что директива v1 отсутствует на этой странице, не означает, что v2 не может этого сделать! Некоторые директивы v1 не нужны, плохо переводятся или выполняются другими способами в v2. Для некоторых расширенных настроек вам может потребоваться раскрыться до JSON, чтобы получить то, что вы хотите. Изучите нашу документацию, чтобы найти то, что вам нужно!
Базовая аутентификация HTTP по-прежнему настроена с помощью директивы basicauth
. Однако конфигурация Caddy 2 не принимает пароли в виде открытого текста.Вы должны хешировать их, с чем может помочь хэш-пароль caddy
.
базикаут / секрет / Иккинг Боба
basicauth / secret / * { Боб JDJhJDEwJEVCNmdaNEg2Ti5iejRMYkF3MFZhZ3VtV3E1SzBWZEZ5Q3VWc0tzOEJwZE9TaFlZdEVkZDhX }
Просмотр файлов теперь включен с помощью директивы file_server
.
просмотреть / подпапка /
file_server / subfolder / * просмотр
Пользовательские страницы ошибок могут быть выполнены с помощью handle_errors
.
ошибок { 404 404.html 500 500.html }
handle_errors { перезаписать * /{http.error.status_code}.html файловый сервер }
Подразумеваемые расширения файлов могут быть выполнены с помощью try_files
.
доб. HTML
try_files {path} .html {path}
Предполагая, что вы обслуживаете PHP, эквивалент v2 - php_fastcgi
.
fastcgi / localhost: 9005 php
php_fastcgi локальный хост: 9005
Обратите внимание, что директива fastcgi
из v1 многое сделала «под капотом», включая проверку файлов на диске, перезапись запросов и даже перенаправление. Директива v2 php_fastcgi
также делает это за вас, но в документации приводится ее расширенная форма, которую вы можете изменить, если ваши требования отличаются.
В версии 2 не требуется предустановки php
, поскольку директива php_fastcgi
предполагает использование PHP по умолчанию.Строка, например php_fastcgi 127.0.0.1:9000 php
, заставит обратный прокси-сервер думать, что есть второй бэкэнд с именем php
, что приведет к ошибкам подключения.
Поддирективы в v2 другие - для PHP они, вероятно, не понадобятся.
Одна директива encode
теперь используется для всех кодировок ответов, включая несколько форматов сжатия.
gzip
кодировать gzip
Интересный факт: Caddy 2 также поддерживает zstd
(но пока еще не поддерживает браузеры).
В основном без изменений, но теперь намного мощнее, поскольку может выполнять замену подстрок в v2.
заголовок / Strict-Transport-Security max-age = 31536000;
заголовок Strict-Transport-Security max-age = 31536000;
Разрешает регистрацию доступа; директива log
по-прежнему может использоваться в версии 2, но все журналы по умолчанию структурированы и закодированы как JSON.
Рекомендуемый способ включить ведение журнала доступа:
журнал
, который отправляет структурированные журналы в stderr.(Вы также можете передать в файл или сетевой сокет; см. Документацию.)
Хотя мы рекомендуем всем использовать структурированное ведение журнала, вы все равно можете записать общий формат журнала (CLF) в файл, если необходимо:
журнал access.log
журнал { выходной файл access.log формат single_field common_log }
Но мы рекомендуем это только для перехода, когда ваши устаревшие системы все еще требуют CLF.
Эквивалент v2: reverse_proxy
.
Заметные изменения подкаталогов: header_upstream
и header_downstream
стали header_up
и header_down
соответственно; а подкаталоги, связанные с балансировкой нагрузки, имеют префикс lb_
.
Еще одно существенное отличие состоит в том, что прокси v2 по умолчанию передает все входящие заголовки (включая заголовок Host
) и устанавливает заголовок X-Forwarded-For
. Другими словами, «прозрачный» режим v1 в основном используется по умолчанию в v2 (но если вам нужны другие заголовки, такие как X-Real-IP, вы должны установить их самостоятельно).Вы по-прежнему можете переопределить / настроить заголовок Host
с помощью подкаталога header_up
.
Прокси-сервер Websocket "просто работает" в v2; нет необходимости «включать» веб-сокеты, как в v1.
без подкаталога
был удален, потому что в версии 2 больше нет необходимости во взломах перезаписи благодаря улучшенной поддержке сопоставления.
прокси / localhost: 9005
reverse_proxy локальный: 9005
Без изменений, за исключением некоторых деталей о необязательном аргументе кода состояния.В большинство конфигураций вносить изменения не нужно.
redir https://example.com {uri}
redir https://example.com {uri}
Немного изменилась семантика перезаписи запроса («внутреннее перенаправление»). Если вы использовали так называемый «хак перезаписи» в версии 1 как способ сопоставления запросов с чем-то другим, кроме простого префикса пути, в версии 2 это совершенно не нужно.
Новая директива rewrite
очень проста, но очень эффективна, так как большая часть ее сложности обрабатывается сопоставителями в v2:
rewrite { если {> User-Agent} имеет мобильный на / мобильный {uri} }
@mobile { заголовок User-Agent * mobile * } переписать @mobile / mobile {uri}
Обратите внимание, как мы просто используем обычные токены сопоставления Caddy 2; это больше не особый случай для этой директивы.
Начните с удаления всех хаков перезаписи; вместо этого превратите их в именованные сопоставители. Оцените каждую перезапись версии 1
, чтобы увидеть, действительно ли она нужна в версии 2. Подсказка: Caddyfile v1, в котором используется перезаписать
для добавления префикса пути, а затем прокси
с без
для удаления того же префикса, является хаком перезаписи и может быть удален.
Вы можете найти новые директивы route
и handle
полезными для большего контроля над расширенной логикой маршрутизации.
Без изменений, но если ваш корневой путь начинается с /
, вам нужно добавить токен сопоставления *
, чтобы отличить его от сопоставителя пути.
корень / var / www
корень * / var / www
Поскольку он принимает сопоставление в версии 2, это означает, что вы также можете изменить корень сайта в зависимости от запроса.
Не забудьте добавить директиву file_server
, если обслуживаете статические файлы, поскольку Caddy 2 не предполагает этого по умолчанию, тогда как в v1 она всегда была включена.
Эквивалент v2: response
, который также может записывать тело ответа.
статус 404 / секреты /
ответить / секреты / * 404
Общий синтаксис директивы templates
не изменился, но фактические действия / функции шаблона отличаются и значительно улучшены. Например, шаблоны могут включать файлы, разметку рендеринга, выполнение внутренних подзапросов, синтаксический анализ основного материала и многое другое!
Подробности о новых функциях см. В документации.
шаблоны
шаблоны
Основы директивы tls
не изменились, например, указание вашего собственного сертификата и ключа:
tls cert.pem key.pem
tls cert.pem key.pem
Но автоматическая HTTPS-логика Caddy изменилась на , так что имейте это в виду!
Имена наборов шифров также изменились.
Обычная конфигурация в Caddy 2 - использовать tls internal
, чтобы он обслуживал локально доверенный сертификат для имени хоста разработчика, которое не является localhost
или IP-адресом.
Большинству сайтов эта директива вообще не нужна.
Мы рекомендуем использовать один из наших официальных служебных файлов для развертываний Caddy.
Если вам нужен специальный служебный файл, воспользуйтесь нашим. Он был тщательно настроен на то, что это такое, по уважительным причинам! Обязательно настройте свой при необходимости.
Подробные сведения см. В инструкциях по установке.
Плагины, написанные для v1, автоматически не совместимы с v2. Многие плагины v1 даже не нужны в v2. С другой стороны, v2 намного легче расширяемо и гибко, чем v1!
Если вы хотите написать плагин для Caddy 2, узнайте, как написать модуль Caddy.
Caddy 2 (пока) не имеет общедоступного сервера сборки и интерактивной страницы загрузки, как у v1.Мы над этим работаем. А пока наш конструктор может оказаться полезным. Он просто автоматизирует инструкции в файле main.go Caddy.
Мы также будем работать над новым веб-сайтом, чтобы плагины можно было регистрировать, индексировать и легко находить.
Если вы не можете заставить Caddy работать, пожалуйста, сначала просмотрите наш веб-сайт для поиска документации. Найдите время, чтобы попробовать что-то новое и понять, что происходит - v2 очень отличается от v1 во многих отношениях (но также очень знакомо)!
Если вам все еще нужна помощь, присоединяйтесь к нашему сообществу! Вы можете обнаружить, что помощь другим - лучший способ помочь себе.
.Добро пожаловать в Кэдди! В этом руководстве будут изучены основы использования Caddy и вы познакомитесь с ним на высоком уровне.
Цели:
Предварительные требования:
caddy
и curl
в вашем PATH Если вы установили Caddy из диспетчера пакетов, Caddy уже может быть запущен как служба.Если это так, пожалуйста, остановите службу перед выполнением этого руководства.
Начнем с запуска:
тележка
Ой; без подкоманды команда caddy
отображает только текст справки. Вы можете использовать это в любое время, когда забываете, что делать.
Чтобы запустить Caddy как демон, используйте подкоманду run
:
caddy run
Запустить демон Это блокирует навсегда, но что он делает? На данный момент ... ничего.По умолчанию конфигурация Caddy ("config") пуста. Мы можем проверить это с помощью административного API в другом терминале:
локальный локальный локальный объект: 2019 / config /
Попробуйте API . Мы можем сделать Caddy полезным, предоставив ему конфигурацию. Это можно сделать разными способами, но мы начнем с запроса POST к конечной точке / load с использованием curl
в следующем разделе.
Чтобы подготовить наш запрос, нам нужно сделать config. По сути, конфигурация Caddy - это просто документ JSON.
Сохраните это в файл JSON:
{ "Программы": { "http": { "серверы": { "пример": { "слушай": [": 2015"], "маршруты": [ { "ручка": [{ "обработчик": "static_response", "body": "Привет, мир!" }] } ] } } } } }Вам не нужно использовать файлы для настройки. API администратора всегда можно использовать без файлов, что удобно при автоматизации.
Затем загрузите его:
локальный локальный локальный объект: 2019 / загрузка \ -X POST \ -H "Content-Type: application / json" \ -d @caddy.json
Дайте Кэдди конфигурацию Мы можем проверить, что Кэдди применила нашу новую конфигурацию с другим запросом GET:
локальный локальный локальный объект: 2019 / config /
Проверьте, работает ли он, перейдя на localhost: 2015 в браузере или используя curl
:
локальный локальный локальный объект: 2015 Привет мир!
Если вы видите Привет, мир! , то поздравляю - работает! Всегда полезно убедиться, что ваша конфигурация работает так, как вы ожидаете, особенно перед развертыванием в производственной среде.
Тестовая конфигурацияЭто было вроде много работы только для Hello World.
Другой способ настройки Caddy - это Caddyfile . Та же самая конфигурация, которую мы написали в JSON выше, может быть выражена просто как:
: 2015 ответить "Привет, мир!"
Сохраните это в файл с именем Caddyfile
(без расширения) в текущем каталоге.
Stop Caddy, если он уже запущен (Ctrl + C), затем запустите:
приспособление для кэдди
Или если вы сохранили файл Caddy в другом месте или назвали его иначе, чем Caddyfile
:
caddy Adapt --config / путь / к / файлу caddy
Вы увидите вывод в формате JSON! Что здесь случилось?
Мы только что использовали адаптер конфигурации для преобразования нашего файла Caddyfile в собственную структуру JSON Caddy.
Используйте адаптер конфигурации. Хотя мы можем взять этот вывод и сделать еще один запрос API, мы можем пропустить все эти шаги, потому что команда caddy
может сделать это за нас. Если в текущем каталоге есть файл с именем Caddyfile и никакая другая конфигурация не указана, Caddy загрузит файл Caddy, адаптирует его для нас и сразу же запустит.
Теперь, когда в текущей папке есть Caddyfile, давайте снова выполним caddy run
:
caddy run
Или, если ваш Caddyfile находится где-то еще:
caddy run --config / путь / к / caddyfile
(Если он называется чем-то еще, что не начинается с "Caddyfile", вам нужно будет указать --adapter caddyfile
.)
Теперь вы можете попробовать загрузить свой сайт еще раз, и вы увидите, что он работает!
Начните с начальной конфигурацииКак видите, есть несколько способов запустить Caddy с начальной конфигурацией:
--config
(опционально с флагом --adapter
) --resume
(если ранее была загружена конфигурация) Теперь вы знаете, что файл Caddyfile просто конвертирован в JSON для вас.
Caddyfile кажется проще, чем JSON, но нужно ли всегда его использовать? У каждого подхода есть свои плюсы и минусы. Ответ зависит от ваших требований и варианта использования.
JSON | Caddyfile |
---|---|
Полный набор функций Caddy | Наиболее распространенные части функциональности Caddy |
Легко генерировать | Легко изготовить вручную |
Легко программируемый | Сложно автоматизировать |
Чрезвычайно выразительный | Умеренно выразительный |
Разрешает обход конфигурации | Невозможно пройти в Caddyfile |
Частичные изменения конфигурации | Только изменения всей конфигурации |
Возможен экспорт | Невозможно экспортировать |
Совместимость со всеми конечными точками API | Совместимость с некоторыми конечными точками API |
Документация создается автоматически | Документация рукописная |
Повсеместно | Ниша |
Более эффективный | Более вычислительная |
Вид расточки | Вид удовольствия |
Подробнее: структура JSON | Подробнее: Caddyfile docs |
Вам нужно будет решить, что лучше всего подходит для вашего варианта использования.
Важно отметить, что и JSON, и Caddyfile (и любой другой поддерживаемый адаптер конфигурации) могут использоваться с API Caddy. Однако вы получаете полный набор функций Caddy и функций API, если используете JSON. При использовании адаптера конфигурации единственный способ загрузить или изменить конфигурацию с помощью API - это конечная точка / load.
Сравните JSON и Caddyfile caddy
просто завершает эти вызовы API за вас.Вы также захотите решить, будет ли ваш рабочий процесс на основе API или интерфейса командной строки. (Вы можете использовать и API, и файлы конфигурации на одном сервере, но мы не рекомендуем это делать: лучше иметь один источник правды.)
API | Файлы конфигурации |
---|---|
Внесение изменений в конфигурацию с помощью HTTP-запросов | Внесите изменения в конфигурацию с помощью команд оболочки |
Легко масштабировать | Сложно масштабировать |
Сложно управлять вручную | Легко управлять вручную |
Действительно весело | Также весело |
Подробнее: API | Подробнее: Учебник по Caddyfile |
Выбор API или рабочего процесса файла конфигурации ортогонален использованию адаптеров конфигурации: вы можете использовать JSON, но сохранить его в файле и использовать интерфейс командной строки; и наоборот, вы также можете использовать Caddyfile с API.
Но большинство людей будут использовать комбинации JSON + API или Caddyfile + CLI.
Как видите, Caddy хорошо подходит для самых разных сценариев использования и развертываний!
Сравните файлы API и конфигурации Поскольку Caddy - это сервер, он работает бесконечно.Это означает, что ваш терминал не будет разблокирован после выполнения caddy run
, пока процесс не будет завершен (обычно с помощью Ctrl + C).
Хотя caddy run
является наиболее распространенным и обычно рекомендуется (особенно при создании системной службы!), Вы также можете использовать caddy start
для запуска Caddy и запустить его в фоновом режиме:
caddy start
Это позволит вам снова использовать свой терминал, что удобно в некоторых интерактивных средах без головы.
Затем вам придется остановить процесс самостоятельно, поскольку Ctrl + C не остановит его за вас:
упор для тележки
Или используйте конечную точку / stop API.
Запуск в фоновом режимеВаш сервер может выполнять перезагрузку / изменение конфигурации без простоев.
Все конечные точки API, которые загружают или изменяют конфигурацию, работают плавно с нулевым временем простоя.
Однако при использовании командной строки может возникнуть соблазн использовать Ctrl + C, чтобы остановить сервер, а затем перезапустить его снова, чтобы получить новую конфигурацию.Не делайте этого: остановка и запуск сервера ортогональны изменениям конфигурации и приведут к простою.
Остановка сервера приведет к его отключению. Вместо этого используйте команду caddy reload
для постепенного изменения конфигурации:
перезагрузка кэдди
Это фактически просто использует API под капотом. Он загрузит и, при необходимости, адаптирует ваш файл конфигурации к JSON, а затем аккуратно заменит активную конфигурацию без простоя.
Если при загрузке новой конфигурации возникают ошибки, Caddy откатывается к последней рабочей конфигурации.
Технически новая конфигурация запускается до остановки старой, поэтому на короткое время работают обе конфигурации! Если новая конфигурация терпит неудачу, она прерывается с ошибкой, а старая просто не останавливается. Перезагрузка конфигурации с нулевым временем простоя.Это руководство научит вас основам HTTP Caddyfile, чтобы вы могли быстро и легко создавать красивые функциональные конфигурации сайта.
Цели:
Предварительные требования:
caddy
в вашем PATH Создайте новый текстовый файл с именем Caddyfile
(без расширения).
Первое, что вы должны ввести, это адрес вашего сайта:
локальныйЕсли порты HTTP и HTTPS (80 и 443 соответственно) являются привилегированными портами в вашей ОС, вам нужно будет либо работать с повышенными привилегиями, либо использовать порт более высокого уровня. Чтобы использовать порт более высокого уровня, просто измените адрес на что-то вроде
localhost: 2015
и измените порт HTTP с помощью параметра http_port Caddyfile. Затем нажмите Enter и введите то, что вы хотите. Для этого урока сделайте так, чтобы ваш Caddyfile выглядел так:
локальный ответить "Привет, мир!"
Сохраните это и запустите Caddy (поскольку это учебное пособие, мы будем использовать флаг --watch
, чтобы изменения в нашем Caddyfile применялись автоматически):
caddy run - часы
Если вы получаете ошибки с разрешениями, попробуйте использовать порт более высокого уровня в своем адресе (например, localhost: 2015
) и измените порт HTTP или запустите с повышенными привилегиями.В первый раз вам будет предложено ввести пароль. Это сделано для того, чтобы Caddy мог обслуживать ваш сайт по HTTPS.
Caddy обслуживает все сайты по HTTPS по умолчанию, если хост или IP-адрес являются частью адреса сайта. Автоматический HTTPS можно отключить, явно указав в адресе префикс http: //
. Первый сайт Откройте localhost в своем браузере и посмотрите, как работает ваш веб-сервер с HTTPS!
Возможно, вам придется перезапустить браузер, если вы получите ошибку сертификата в первый раз.Это не особенно интересно, поэтому давайте изменим наш статический ответ на файловый сервер с включенными списками каталогов:
локальный file_server просмотр
Сохраните файл Caddyfile, затем обновите вкладку браузера. Вы должны увидеть либо список файлов, либо HTML-страницу, если в текущем каталоге есть индексный файл.
Статический файловый серверДавайте сделаем кое-что интересное с нашим файловым сервером: предоставим шаблонную страницу. Создайте новый файл и вставьте в него:
Учебник по Кэдди Страница загружена в: {{сейчас | date "Пн 2 января 15:04:05 MST 2006"}}
Сохранить как caddy.html
в текущем каталоге и загрузите его в свой браузер: https: //localhost/caddy.html
Вывод:
Страница загружена в: {{сейчас | date "Пн 2 января 15:04:05 MST 2006"}}
Погодите. Мы должны увидеть сегодняшнюю дату. Почему не сработало? Это потому, что сервер еще не настроен для оценки шаблонов! Легко исправить, просто добавьте строку в Caddyfile, чтобы она выглядела так:
локальный шаблоны file_server просмотр
Сохраните это, затем перезагрузите вкладку браузера.Вы должны увидеть:
Страница загружена в: Чт, 19 ноября, 15:32:58 UTC 2020
С модулем шаблонов Caddy вы можете делать много полезных вещей со статическими файлами, например, включать другие HTML-файлы, делать подзапросы, устанавливать заголовки ответов, работать со структурами данных и многое другое!
Шаблоны Рекомендуется сжимать ответы с помощью быстрого и современного алгоритма сжатия. Давайте включим поддержку Gzip и Zstandard с помощью директивы encode
:
локальный закодировать zstd gzip шаблоны file_server просмотрБраузеры пока не поддерживают кодировки Zstandard.Надеюсь, скоро! Сжатие
Это базовый процесс для создания и запуска полу-продвинутого, готового к работе сайта!
Когда вы будете готовы включить автоматический HTTPS, просто замените адрес своего сайта ( localhost
в нашем руководстве) своим доменным именем. Дополнительную информацию см. В нашем кратком руководстве по HTTPS.
С нашим текущим файлом Caddyfile у нас может быть только одно определение сайта! Только первая строка может быть адресом (а) сайта, а затем весь остальной файл должен быть директивами для этого сайта.
Но это легко сделать, чтобы мы могли добавлять больше сайтов!
Наш Caddyfile на данный момент:
локальный закодировать zstd gzip шаблоны file_server просмотр
эквивалентно этому:
localhost { закодировать zstd gzip шаблоны file_server просмотр }
, кроме второго, позволяет добавлять больше сайтов.
Заключив блок нашего сайта в фигурные скобки {}
, мы можем определить несколько разных сайтов в одном и том же файле Caddyfile.
Например:
: 8080 { ответить "Я 8080" } : 8081 { ответить "Я 8081" }
При заключении блоков сайта в фигурные скобки только адреса появляются вне фигурных скобок, а внутри них появляются только директивы.
Для нескольких сайтов с одинаковой конфигурацией вы можете добавить больше адресов, например:
: 8080,: 8081 { ... }
Затем вы можете определить столько разных сайтов, сколько захотите, при условии, что каждый адрес уникален.
Несколько сайтовМы можем применить некоторые директивы только к определенным запросам.Например, предположим, что мы хотим иметь и файловый сервер, и обратный прокси, но мы, очевидно, не можем делать и то, и другое при каждом запросе! Либо файловый сервер запишет статический файл, либо обратный прокси-сервер будет передавать запрос бэкэнду.
Этот конфиг не будет работать так, как мы хотим:
локальный файловый сервер reverse_proxy 127.0.0.1:9005
На практике мы можем захотеть использовать обратный прокси только для запросов API, то есть запросов с базовым путем / api /
.Это легко сделать, добавив токен сопоставления:
локальный файловый сервер reverse_proxy / api / * 127.0.0.1:9005
Там; теперь обратный прокси будет иметь приоритет для всех запросов, начиная с / api /
.
Только что добавленный токен / api / *
называется совпадающим токеном . Вы можете сказать, что это токен сопоставления, потому что он начинается с косой черты /
и появляется сразу после директивы (но вы всегда можете посмотреть его в документации директивы, чтобы быть уверенным).
Матчеры действительно мощные. Вы можете назвать сопоставители и использовать их, например, @name
, чтобы сопоставить не только путь запроса! Прежде чем продолжить, узнайте больше о сопоставителях!
Адаптер Caddyfile позволяет заменять переменные среды перед анализом файла Caddyfile.
Сначала установите переменную среды (в той же оболочке, в которой работает Caddy):
экспорт SITE_ADDRESS = localhost: 9055
Тогда вы можете использовать это как это в Caddyfile:
{$ SITE_ADDRESS} файловый сервер
Перед тем как Caddyfile будет проанализирован, он будет расширен до:
локальный: 9055 файловый сервер
Вы можете использовать переменные среды в любом месте Caddyfile для любого количества токенов.
Переменные среды И последнее, что вы найдете наиболее полезным: если вы хотите отметить или отметить что-либо в своем Caddyfile, вы можете использовать комментарии, начиная с #
:
# это запускает комментарийКомментарии
Этот документ поможет вам подробно узнать о HTTP Caddyfile.
Структуру Caddyfile можно описать визуально:
Ключевые точки:
{}
являются необязательными. Caddyfile состоит как минимум из одного или нескольких блоков сайта, которые всегда начинаются с одного или нескольких адресов сайта.Любые директивы, стоящие перед адресом, будут сбивать с толку парсер.
Открытие и закрытие блока выполняется с помощью фигурных скобок:
... { ... }
{
должна находиться в конце ее линии. }
должна находиться на отдельной строке. Когда есть только один блок сайта, фигурные скобки (и отступы) необязательны. Это сделано для удобства быстрого определения одного сайта, например, это:
локальный обратный_прокси / api / * локальный: 9001 файловый сервер
эквивалентно:
localhost { обратный_прокси / api / * локальный: 9001 файловый сервер }
, когда у вас только один блок сайта; это вопрос предпочтений.
Чтобы настроить несколько сайтов с одним и тем же файлом Caddyfile, необходимо использовать фигурные скобки вокруг каждого из них, чтобы разделить их конфигурации:
example1.com { корень * /www/example.com файловый сервер } example2.com { reverse_proxy локальный: 9000 }
Если запрос соответствует нескольким блокам сайта, выбирается блок сайта с наиболее точным совпадающим адресом. Запросы не переходят в другие блоки сайта.
Директивы - это ключевые слова, которые настраивают способ обслуживания сайта.Например, полная конфигурация файлового сервера может выглядеть так:
локальный файловый сервер
Или обратный прокси:
локальный reverse_proxy локальный: 9000
В этих примерах file_server
и reverse_proxy
являются директивами. Директивы - это первое слово в строке в блоке сайта.
Во втором примере localhost: 9000
- это аргумент , потому что он появляется в той же строке после директивы.
Поддирективы могут появляться в блоках директив:
локальный reverse_proxy localhost: 9000 localhost: 9001 { сначала lb_policy }
Здесь lb_policy
является подкаталогом reverse_proxy
(он устанавливает политику балансировки нагрузки для использования между бэкэндами).
Caddyfile преобразуется в токены перед анализом. Пробелы важны в Caddyfile, потому что маркеры разделяются пробелами.
Часто директивы ожидают определенного количества аргументов; если один аргумент имеет значение с пробелом, он будет лексирован как два отдельных токена:
Директиваabc def
Это могло быть проблематично и возвращать ошибки или неожиданное поведение.
Если abc def
должно быть значением одного аргумента, его необходимо указать в кавычках:
«abc def»
Цитаты могут быть экранированы, если вам нужно использовать кавычки и в цитируемых токенах:
директива "\" abc def \ ""
Внутри цитируемых токенов все остальные символы обрабатываются буквально, включая пробелы, табуляции и символы новой строки.
Вы также можете использовать обратную кавычку `
для цитирования токенов:
директива `" foo bar "`
Строки обратных апострофов удобны, когда токены содержат литералы кавычек, например Текст JSON.
Адрес всегда появляется в верхней части блока сайта и обычно является первым в Caddyfile.
Примеры действительных адресов:
локальный хост
example.com
: 443
http: // example.com
локальный: 8080
127.0.0.1
[:: 1]: 2015
example.com/foo/*
* .example.com
http: //
http: // example.com
, автоматический HTTPS не будет активирован, потому что схема явно http: //
. По адресу Caddy потенциально может определить схему, хост, порт и путь вашего сайта.
Если вы укажете имя хоста, будут обрабатываться только запросы с соответствующим заголовком Host. Другими словами, если адрес сайта - localhost
, то Caddy не будет соответствовать запросам на 127.0.0.1
.
Подстановочные знаки ( *
) могут использоваться, но только для представления точно одной метки имени хоста.Например, * .example.com
соответствует foo.example.com
, но не foo.bar.example.com
, а *
соответствует localhost
, но не example.com
. Чтобы перехватить все хосты, опустите часть адреса, содержащую хост.
Если несколько сайтов имеют одно и то же определение, вы можете перечислить их все вместе:
localhost: 8080, example.com, www.example.com
или
локальный: 8080, example.com, www.example.com
Обратите внимание, как запятые указывают на продолжение адресов.
Адрес должен быть уникальным; нельзя указывать один и тот же адрес более одного раза.
По умолчанию директива, внедряющая обработчик HTTP, применяется ко всем запросам (если иное не указано в документации).
Устройства сопоставления запросов могут использоваться для классификации запросов по заданным критериям. Эта концепция проистекает из базовой структуры JSON, и важно знать, как использовать их в Caddyfile. С помощью сопоставителей вы можете точно указать, к каким запросам применяется определенная директива.
Для директив, поддерживающих сопоставления, первым аргументом после директивы является маркер сопоставления . Вот несколько примеров:
корень * / var / www # токен сопоставления: * root /index.html / var / www # токен сопоставления: /index.html root @post / var / www # токен сопоставления: @post
Жетоны сопоставления можно полностью опустить для соответствия всем запросам; например, *
указывать не нужно, если следующий аргумент не похож на сопоставление пути.
Прочтите страницу о сопоставителях запросов, чтобы узнать больше.
Вы можете использовать любые заполнители Caddy в Caddyfile, но для удобства вы также можете использовать некоторые эквивалентные сокращения:
Сокращение | Заменяет |
---|---|
{dir} | {http.request.uri.path.dir} |
{файл} | {http.request.uri.path.file} |
{header. *} | {http.request.header. *} |
{host} | {http.request.host} |
{label. *} | {http.request.host.labels. *} |
{hostport} | {http.request.hostport} |
{порт} | {http.request.port} |
{метод} | {http.request.method} |
{path} | {http.request.uri.path} |
{path. *} | {http.request.uri.path. *} |
{запрос} | {http.request.uri.query} |
{query. *} | {http.request.uri.query. *} |
{re. *. *} | {http.regexp. *. *} |
{удаленный} | {http.request.remote} |
{remote_host} | {http.request.remote.host} |
{remote_port} | {http.request.remote.port} |
{схема} | {http.request.scheme} |
{uri} | {http.request.uri} |
{tls_cipher} | {http.request.tls.cipher_suite} |
{tls_version} | {http.request.tls.version} |
{tls_client_fingerprint} | {http.request.tls.client.fingerprint} |
{tls_client_issuer} | {http.request.tls.client.issuer} |
{tls_client_serial} | {http.request.tls.client.serial} |
{tls_client_subject} | {http.request.tls.client.subject} |
Вы можете определить специальные блоки, называемые сниппетами, дав им имя в круглых скобках:
(перенаправление) { @http { протокол http } redir @http https: // {host} {uri} }
И затем вы можете повторно использовать это где угодно:
перенаправление импорта
Директива import
также может использоваться для включения других файлов вместо нее.Как особый случай, он может появляться практически в любом месте файла Caddyfile.
Комментарии начинаются с #
и продолжаются до конца строки:
# Комментарии могут начинать строку директива # или перейти в конец
Символ решетки #
не может появляться в середине токена (т.е. ему должен предшествовать пробел или он должен появляться в начале строки). Это позволяет использовать хэши в URI или других значениях без необходимости использования кавычек.
Если ваша конфигурация зависит от переменных среды, вы можете использовать их в Caddyfile:
{$ SITE_ADDRESS}
Переменные среды в этой форме заменяются перед началом синтаксического анализа, поэтому они могут расширяться до пустых значений, частичных токенов, полных токенов или даже нескольких токенов и строк.
Если вы хотите отложить замену переменной среды до времени выполнения, вы можете использовать стандартные заполнители {env. *}
.
Caddyfile может необязательно начинаться со специального блока без ключей, называемого блоком глобальных опций:
{ ... }
Если присутствует, это должен быть самый первый блок в конфигурации.
Он используется для установки опций, которые применяются глобально или не применяются к какому-либо одному сайту в частности. Внутри могут быть установлены только глобальные параметры; в них нельзя использовать обычные директивы сайта.
Узнайте больше о блоке глобальных опций.
.Caddyfile - удобный формат конфигурации Caddy для людей. Это любимый способ использования Caddy большинства людей, потому что его легко писать, легко понимать и достаточно выразительно для большинства случаев использования.
Это выглядит так:
example.com корень * / var / www / wordpress php_fastcgi unix // запустить / php / php-version-fpm.sock файловый сервер
(Это настоящий готовый к работе Caddyfile, который обслуживает WordPress с полностью управляемым HTTPS.)
Основная идея состоит в том, что вы сначала вводите адрес своего сайта, а затем функции или функции, которые вам нужны. Ознакомьтесь с более распространенными шаблонами.
Caddyfile - это просто адаптер конфигурации для Caddy. Обычно это предпочтительнее при создании конфигураций вручную, но он не такой выразительный, гибкий или программируемый, как собственная структура JSON Caddy. Если вы автоматизируете конфигурацию / развертывание Caddy, вы можете использовать JSON с API Caddy.(На самом деле вы также можете использовать Caddyfile с API, но в ограниченной степени.)
.Caddy - это первый и единственный веб-сервер, который автоматически использует HTTPS и по умолчанию .
Автоматический HTTPS предоставляет сертификаты TLS для всех ваших сайтов и поддерживает их обновление. Он также перенаправляет HTTP на HTTPS за вас! Caddy использует безопасные и современные настройки по умолчанию - без простоев или дополнительных настроек.
Caddy разработала новую автоматическую технологию HTTPS; мы делаем это с первого дня, когда это стало возможным в 2015 году.Логика автоматизации HTTPS Caddy является самой продуманной и надежной в мире.Вот 28-секундное видео, показывающее, как это работает:
Caddy по умолчанию обслуживает все сайты через HTTPS.
localhost
, 127.0.0.1
. example.com
, sub.example.com
, * .example.com
. Caddy сохраняет все сертификаты обновленными и автоматически перенаправляет HTTP (порт по умолчанию 80) на HTTPS (порт по умолчанию 443).
Для локального HTTPS:
Для публичных доменных имен:
Это общие требования для любого базового производственного веб-сайта, а не только для Caddy. Основное отличие состоит в том, чтобы правильно настроить записи DNS с до с Caddy. $ HOME
доступна для записи и является постоянной, , тогда сайты будут обслуживаться по HTTPS автоматически и без проблем.Вам не нужно будет ничего знать об этом или делать что-либо еще. Он должен «просто работать»!
Если вы все еще тестируете свою установку, продолжайте читать, иначе вы рискуете получить ограничение по скорости со стороны вашего центра сертификации. Остальная часть этой страницы посвящена подробным сведениям о расширенных вариантах использования и целях устранения неполадок.
Caddy неявно активирует автоматический HTTPS, когда знает доменное имя (то есть имя хоста), которое обслуживает. В зависимости от того, как вы запускаете или настраиваете Caddy, существуют различные способы указать Caddy, какие доменные имена использовать:
Любое из следующих действий предотвратит активацию автоматического HTTPS, полностью или частично:
При активации автоматического HTTPS происходит следующее:
Автоматический HTTPS никогда не отменяет явную конфигурацию.
При необходимости вы можете настроить или отключить автоматический HTTPS.
Все имена хостов (доменные имена и IP-адреса) подходят для полностью управляемых сертификатов, если они:
*
) Кроме того, имена хостов соответствуют требованиям для получения общедоступных сертификатов, если они:
*
в качестве крайней левой метки Для обслуживания закрытых сайтов по протоколу HTTPS Caddy создает собственный центр сертификации (ЦС) и использует его для подписи сертификатов.Цепочка доверия состоит из корневого и промежуточного сертификатов. Листовые сертификаты подписываются промежуточным звеном.
Локальный центр сертификацииCaddy основан на библиотеках Smallstep.
Local HTTPS не использует ACME и не выполняет проверку DNS. Он работает только на локальном компьютере и заслуживает доверия только там, где установлен корневой сертификат ЦС.
Закрытый ключ root уникальным образом генерируется с использованием криптографически безопасного псевдослучайного источника и сохраняется в хранилище с ограниченными разрешениями.Он загружается в память только для выполнения задач подписи, после чего оставляет область для сбора мусора.
Хотя Caddy может быть настроен на прямую подпись с помощью root (для поддержки несовместимых клиентов), по умолчанию это отключено, и корневой ключ используется только для подписи промежуточных звеньев.
При первом использовании корневого ключа Caddy попытается установить его в локальное хранилище доверенных сертификатов системы. Если у него нет на это разрешения, он запросит пароль. Это поведение можно отключить в конфигурации, если оно не желательно.
Доверять корневому сертификату Caddy на своем компьютере безопасно, если только ваш компьютер не скомпрометирован и ваш уникальный корневой ключ не утек. После установки корневого центра сертификации Caddy вы увидите его в локальном хранилище доверенных сертификатов как «Caddy Local Authority» (если вы не настроили другое имя). Вы можете удалить его в любое время, если хотите (команда caddy untrust
упрощает это).
Также будут сгенерированы промежуточный сертификат и ключ, которые будут использоваться для подписи листовых сертификатов (отдельных сайтов).
В отличие от корневого сертификата, промежуточные сертификаты имеют гораздо более короткий срок службы и автоматически обновляются по мере необходимости.
Чтобы протестировать или поэкспериментировать с конфигурацией Caddy, убедитесь, что вы изменили конечную точку ACME на промежуточный или разрабатываемый URL-адрес, в противном случае вы, вероятно, столкнетесь с ограничениями скорости, которые могут заблокировать ваш доступ к HTTPS на срок до недели, в зависимости от того, какой предел скорости ты попал.
ЦСCaddy по умолчанию - Let's Encrypt, у которого есть промежуточная конечная точка, на которую не распространяются те же ограничения скорости:
https: // acme-staging-v02.api.letsencrypt.org/directory
Для получения общедоступного сертификата TLS требуется проверка сторонним органом, пользующимся всеобщим доверием. В наши дни этот процесс проверки автоматизирован с помощью протокола ACME и может выполняться одним из трех способов («типы запросов»), описанных ниже.
Первые два типа вызовов включены по умолчанию. Если разрешено несколько задач, Кэдди выбирает одну случайным образом, чтобы избежать случайной зависимости от конкретной задачи.
Запрос HTTP выполняет авторитетный поиск в DNS для записи A / AAAA имени хоста кандидата, затем запрашивает временный криптографический ресурс через порт 80 с помощью HTTP. Если центр сертификации видит ожидаемый ресурс, выдается сертификат.
Эта проблема требует, чтобы порт 80 был доступен извне. Если Caddy не может прослушивать порт 80, пакеты с порта 80 должны быть перенаправлены на порт HTTP Caddy.
Этот вызов включен по умолчанию и не требует явной настройки.
Запрос TLS-ALPN выполняет авторитетный поиск в DNS для записи A / AAAA кандидата имени хоста, затем запрашивает временный криптографический ресурс через порт 443, используя подтверждение TLS, содержащее специальные значения ServerName и ALPN. Если центр сертификации видит ожидаемый ресурс, выдается сертификат.
Эта проблема требует, чтобы порт 443 был доступен извне. Если Caddy не может прослушивать порт 443, пакеты с порта 443 должны быть перенаправлены на порт HTTPS Caddy.
Этот вызов включен по умолчанию и не требует явной настройки.
Запрос DNS выполняет авторитетный поиск в DNS записей TXT имени хоста кандидата и ищет специальную запись TXT с определенным значением. Если центр сертификации видит ожидаемое значение, выдается сертификат.
Эта задача не требует никаких открытых портов, и сервер, запрашивающий сертификат, не должен быть доступен извне. Однако проблема DNS требует настройки.Caddy необходимо знать учетные данные для доступа к поставщику DNS вашего домена, чтобы он мог устанавливать (и очищать) специальные записи TXT. Если запрос DNS включен, другие запросы по умолчанию отключены.
Поддержка провайдераDNS - это работа сообщества. Узнайте, как включить вызов DNS для вашего провайдера, на нашей вики.
Caddy является пионером новой технологии, которую мы называем TLS по требованию, которая получает сертификат для имени во время первого подтверждения TLS, которое требует этого, а не при загрузке конфигурации.Вы можете включить его, используя свойство on_demand в конфигурации автоматизации TLS или подкаталог on_demand Caddyfile.
Эта функция может быть полезна, если вы не знаете заранее все доменные имена или если известные вам доменные имена могут быть неправильно настроены сразу (например, записи DNS еще не установлены правильно). Сертификаты, управляемые по запросу, будут получены и обновлены во время процедуры установления связи TLS, которая требует этого. Этот процесс замедляет только начальное рукопожатие TLS; все остальные не пострадают.
Для предотвращения злоупотреблений вы должны указать ограничения скорости и / или конечную точку, которую Caddy может запрашивать, чтобы узнать, разрешено ли получение сертификата для имени хоста. По сути, вам все еще нужен способ предоставить белый список, но им можно управлять динамически с помощью ваших собственных скриптов или программ, если вы предпочитаете сохранять конфигурацию Caddy более статичной.
Будущая поддержка: Эта функция зависит от CA, выдающего сертификаты без задержки. Если мгновенная выдача становится редкостью для центров сертификации ACME, мы можем прекратить поддержку этой функции в Caddy.
Из-за отложенного характера и возможности того, что некоторые задачи ACME могут занять более нескольких секунд (особенно при использовании задачи DNS), мы обычно рекомендуем использовать TLS по требованию только тогда, когда для вас есть определенные технические или операционные преимущества; а именно, если записи DNS для домена не находятся под вашим контролем, и вы не знаете, когда они будут правильно настроены и готовы к получению сертификатов.
Caddy делает все возможное, чтобы продолжить, если возникают ошибки при управлении сертификатами.
По умолчанию управление сертификатами выполняется в фоновом режиме. Это означает, что он не будет блокировать запуск или замедлять работу ваших сайтов. Однако это также означает, что сервер будет работать даже до того, как будут доступны все сертификаты. Работа в фоновом режиме позволяет Caddy повторять попытку с экспоненциальной задержкой в течение длительного периода времени.
Вот что происходит, если возникает ошибка при получении или обновлении сертификата:
Во время повторных попыток с Let's Encrypt Caddy переключается в свою промежуточную среду, чтобы избежать проблем с ограничением скорости.Это не идеальная стратегия, но в целом она полезна.
ACME-вызовы занимают не менее нескольких секунд, а внутреннее ограничение скорости помогает предотвратить случайное злоупотребление. Caddy использует внутреннее ограничение скорости в дополнение к тому, что вы или CA настраиваете, так что вы можете передать Caddy тарелку с миллионом доменных имен, и он будет постепенно - но так быстро, насколько это возможно - получать сертификаты для всех из них.
Внутренний предел скоростиCaddy в настоящее время составляет 10 попыток на одну учетную запись ACME в минуту.
Caddy будет хранить открытые сертификаты, частные ключи и другие активы в своем настроенном хранилище (или в хранилище по умолчанию, если оно не настроено - подробности см. По ссылке).
Главное, что вам нужно знать, это то, что папка $ HOME
должна быть постоянной и доступной для записи.
Любые экземпляры Caddy, настроенные на использование одного и того же хранилища, будут автоматически совместно использовать эти ресурсы и координировать управление сертификатами как кластер.
Перед попыткой выполнения любых транзакций ACME Caddy проверит сконфигурированное хранилище, чтобы убедиться, что оно доступно для записи и имеет достаточную емкость. Это помогает уменьшить ненужную конкуренцию за ограничение скорости.
Caddy может получать и управлять сертификатами с подстановочными знаками, если он настроен для обслуживания сайта с подходящим именем с подстановочными знаками. Имя сайта подходит для подстановочного знака, если подстановочным знаком является только его крайняя левая метка домена. Например, * .example.com
подходит, но не подходит: sub.* .example.com
, foo * .example.com
, * bar.example.com
и *. *. example.com
.
Чтобы получить подстановочный знак от Let's Encrypt, вам просто нужно включить вызов DNS и использовать подстановочный домен в своей конфигурации. Мы рекомендуем использовать подстановочные знаки только в том случае, если у вас так много поддоменов, что вы столкнетесь с ограничениями скорости CA при попытке получить сертификаты для всех них.
.