Spec-Zone.ru › Caddy

Быстрый старт HTTPS

Это руководство покажет вам, как быстро начать работу с управляемым HTTPS.

Caddy по умолчанию использует HTTPS для всех сайтов, если в конфигурации указано имя хоста. В этом руководстве предполагается, что вы хотите развернуть публичный сайт (то есть не «localhost») через HTTPS, поэтому мы будем использовать общедоступное доменное имя и внешние порты.

Предварительные условия:

  • Основные навыки работы с терминалом/командной строкой
  • Основные знания DNS
  • Зарегистрированное общедоступное доменное имя
  • Внешний доступ к портам 80 и 443
  • caddy и curl в вашей переменной окружения PATH

В этом руководстве замените example.com своим фактическим доменным именем.

Установите записи A/AAAA вашего домена, указывающие на ваш сервер. Вы можете сделать это, войдя в панель управления вашим DNS-провайдером и управляя своим доменным именем.

Перед продолжением проверьте правильность записей с помощью авторитетного запроса. Замените example.com своим доменным именем, а если вы используете IPv6, замените type=A на type=AAAA:

curl "https://cloudflare-dns.com/dns-query?name=example.com&type=A" \
  -H "accept: application/dns-json"

Также убедитесь, что к вашему серверу из общедоступного интерфейса есть внешний доступ по портам 80 и 443.

Если вы находитесь в домашней или другой ограниченной сети, вам может потребоваться перенаправить порты или настроить параметры брандмауэра.

Всё, что нам нужно сделать, это запустить Caddy со своим доменным именем в конфигурации. Существует несколько способов сделать это.

Файл Caddyfile

Это наиболее распространённый способ получения HTTPS.

Создайте файл, названный Caddyfile (без расширения), где первая строка — это ваше доменное имя, например:

example.comrespond "Hello, privacy!"

Затем из той же директории запустите:

caddy run

Вы увидите, как Caddy предоставит сертификат TLS и будет обслуживать ваш сайт через HTTPS. Это стало возможным, потому что адрес вашего сайта в файле Caddyfile содержал доменное имя.

Команда для сервера файлов

Если вам нужно только предоставить статические файлы через HTTPS, запустите эту команду (заменив своё доменное имя):

caddy file-server --domain example.com

Вы увидите, как Caddy предоставит сертификат TLS и будет обслуживать ваш сайт через HTTPS.

Команда обратного прокси-сервера

Если вам нужен только простой обратный прокси через HTTPS (как терминатор TLS), запустите эту команду (заменив своё доменное имя и фактический адрес бэкенда):

caddy reverse-proxy --from example.com --to localhost:9000

Вы увидите, как Caddy предоставит сертификат TLS и будет обслуживать ваш сайт через HTTPS.

Конфигурация JSON

Общее правило — любой совпадение по хосту активирует автоматическое HTTPS.

Таким образом, конфигурация JSON, подобная следующей, позволит использовать готовый к работе автоматический HTTPS:

{
	"apps": {
		"http": {
			"servers": {
				"hello": {
					"listen": [":443"],
					"routes": [
						{
							"match": [{
								"host": ["example.com"]
							}],
							"handle": [{
								"handler": "static_response",
								"body": "Hello, privacy!"
							}]
						}
					]
				}
			}
		}
	}
}

© 2015-2025 Matthew Holt and The Caddy Authors
Licensed under the Apache License 2.0.
Caddy is a registered trademark of Stack Holdings GmbH.
https://caddyserver.com/docs/quick-starts/https

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API