Перейти к содержимому

Sslip io как пользоваться

  • автор:

Sslip io как пользоваться

sslip.io is a DNS (Domain Name System) service that, when queried with a hostname with an embedded IP address, returns that IP address. It was inspired by xip.io, which was created by Sam Stephenson.

Here are some examples:

Hostname / URL IP Address Notes
https://104.155.144.4.sslip.io 104.155.144.4 dot separators, sslip.io website mirror (IPv4)
https://52-0-56-137.sslip.io 52.0.56.137 dash separators, sslip.io website mirror (IPv4)
www.192.168.0.1.sslip.io 192.168.0.1 subdomain
www.192-168-0-1.sslip.io 192.168.0.1 subdomain + dashes
https://www-78-46-204-247.sslip.io 78.46.204.247 dash prefix, sslip.io website mirror (IPv4)
—1.sslip.io ::1 IPv6 — always use dashes, never dots
https://2a01-4f8-c17-b8f—2.sslip.io 2a01:4f8:c17:b8f::2 sslip.io website mirror (IPv6)

Branding / White Label / Custom Domains

sslip.io can be used to brand your own site (you don’t need to use the sslip.io domain). For example, say you own the domain “example.com”, and you want your subdomain, “xip.example.com” to have xip.io-style features. To accomplish this, set the following three DNS servers as NS records for the subdomain “xip.example.com”

Do not use these name servers for general-purpose name resolution; instead, continue to use 1.1.1.1 , 8.8.8.8 , 9.9.9.9 or whatever name server you’re currently using. The sslip.io name servers are not public recursive name servers. They will not resolve regular domain names (e.g. «google.com»).

hostname IP address Location
ns-aws.sslip.io. 52.0.56.137
2600:1f18:aaf:6900::a
USA
ns-gce.sslip.io. 104.155.144.4 USA
ns-azure.sslip.io. 52.187.42.158 Singapore

Let’s test it from the command line using dig :

dig @ns-gce.sslip.io. 169-254-169-254.xip.example.com +short
169.254.169.254

But I Want My Own DNS Server!

If you want to run your own DNS server, it’s simple: you can compile from source or you can use one of our pre-built binaries. In the following example, we install & run our server within a docker container:

docker run -it --rm fedora curl -L https://github.com/cunnie/sslip.io/releases/download/3.0.0/sslip.io-dns-server-linux-amd64 -o dns-server chmod +x dns-server ./dns-server 2> dns-server.log & dnf install -y bind-utils dig @localhost 127-0-0-1.sslip.io +short # returns "127.0.0.1"

TLS

You can acquire TLS certificates for your externally-accessible hosts from certificate authorities (CAs) such as Let’s Encrypt. The easiest mechanism to acquire a certificate would be to use the HTTP-01 challenge. It requires, at a minimum, a web server running on your machine. The Caddy web server is one of the most popular examples. For example, if you had a webserver with the IP address 52.0.56.137, you could obtain a TLS certificate for «52.0.56.137.sslip.io», or «www.52.0.56.137.sslip.io», or «prod.www-52-0-56-137.sslip.io».

2021-02-12 Let’s Encrypt Rate Limits If your request for an «sslip.io» certificate is rate-limited, please open a GitHub issue and we’ll request a rate-limit increase.

If you have procured a wildcard certificate for your branded / white label / custom sslip.io-style subdomain, you may install it on your machines for TLS-verified connections.

When using a TLS wildcard certificate in conjunction with your branded sslip.io style subdomain, you must use dashes not dots as separators. For example, if you have the TLS certificate for *.xip.example.com, you could browse to https://www-52-0-56-137.xip.example.com/ but not https://www.52.0.56.137.xip.example.com/.

if you’re interested in acquiring a wildcard certificate for your sslip.io domain, e.g. «*.52-0-56-137.sslip.io», the procedure is described here.

Experimental Features

Experimental features can change; don’t depend on them.

Determining Your External IP Address via DNS Lookup

You can use sslip.io’s DNS servers ( ns.sslip.io ) to determine your public IP address by querying the TXT record of ip.sslip.io :

dig @ns.sslip.io txt ip.sslip.io +short # sample reply "2607:fb90:464:ae1e:ed60:29c:884c:4b52" dig @ns.sslip.io txt ip.sslip.io +short -4 # forces IPv4 lookup; sample reply "172.58.35.231" dig @ns.sslip.io txt ip.sslip.io +short -6 # forces IPv6 lookup; sample reply "2607:fb90:464:ae1e:ed60:29c:884c:4b52"

When querying for your IP address, always include the sslip.io name server (e.g. @ns.sslip.io). If omitted, you won’t get your IP address; instead, you’ll get the IP address of your upstream name server.

This feature was inspired by Google’s DNS lookup, i.e. dig txt o-o.myaddr.l.google.com @8.8.8.8 +short . There are also popular HTTP-based services for determining your public IP address:

A big advantage of using DNS queries instead of HTTP queries is bandwidth: querying ns-aws.sslip.io requires a mere 592 bytes spread over 2 packets; Querying https://icanhazip.com/ requires 8692 bytes spread out over 34 packets—over 14 times as much! Admittedly bandwidth usage is a bigger concern for the one hosting the service than the one using the service.

Determining The Server Version of Software

You can determine the server version of the sslip.io software by querying the TXT record of version.status.sslip.io :

dig @ns-gce.nono.io version.status.sslip.io txt +short "2.7.0" "2023/10/04-18:51:49-0700" "8f7f2df"

The first number, («2.6.1»), is the version of the sslip.io DNS software, and is most relevant. The other two numbers are the date compiled and the most recent git hash, but those values can differ across servers due to the manner in which the software is deployed.

Server Metrics

You can retrieve metrics from a given server by querying the TXT records of metrics.status.sslip.io

dig @ns-aws.sslip.io metrics.status.sslip.io txt +short "Uptime: 165655" "Blocklist: 2023-10-04 07:37:50-07 3,6" "Queries: 14295231 (86.3/s)" "TCP/UDP: 5231/14290000" "Answered Queries: 4872793 (29.4/s)" "A: 4025711" "AAAA: 247215" "TXT Source: 57" "TXT Version: 24" "PTR IPv4/IPv6: 318/22" "NS DNS-01: 135" "Blocked: 175"
Explanation of Metrics

Uptime The time since the DNS server has been started, in seconds Blocklist The first value («2023-10-04 07:37:50-07») is the date the blocklist was last downloaded. The following two numbers are the number of string matches that are blocked (e.g. «raiffeisen» is a string that is blocked if it appears in the queried hostname) and the number of CIDR matches that are blocked (e.g. «43.134.66.67/24» is blocked). The blocklist can be found here Queries This consists of two numbers: The first is the raw number of DNS queries that the server has responded to since starting operation, and the second is the first number divided by the uptime (i.e. queries/second) TCP/UDP This is the number of queries received on the TCP protocol versus the UDP protocol. The sum should equal the number of queries. DNS typically uses the UDP protocol Answered Queries This consists of two numbers: the first is the number of queries we responded to with at least one record in the answer section, and the second is the first number divided by the uptime (i.e. queries/second). Note that the number of answered queries is typically a third or fourth the size of the overall queries. This is normal. One reason for this disparity is that often both the IPv4 (A) and IPv6 (AAAA) records will be checked, but only one reply will have a record in the answer section . For example, browsing to «127.0.0.1.sslip.io» generates two lookups, one with an answer (IPv4), and one without (IPv6). Another reason is that lookups follow a chain, e.g. looking up «127.0.0.1.sslip.io» may generate up to four queries for A records («1.sslip.io», «0.1.sslip.io», «0.0.1.sslip.io» and «127.0.0.1.sslip.io»), only the last of which returns a record in the answer section. Pro-tip: if you want to shave milliseconds off name resolution, use dashes not dots in your hostname (e.g. «10-9-9-30.sslip.io» instead of «10.9.9.30.sslip.io») A The number of responses which included an A (IPv4) record since starting operation (e.g. «dig 127.0.0.1.sslip.io») AAAA The number of responses which included an AAAA (IPv6) record since starting operation (e.g. «dig —1.sslip.io aaaa») TXT Source The number of responses which included a TXT record of the querier’s IP address since starting operation (e.g. «dig @ns.sslip.io ip.sslip.io txt») TXT Version The number of responses which included a TXT record of the DNS’s servers version since starting operation (e.g. «dig @ns-azure.sslip.io version.status.sslip.io txt») PTR IPv4/IPv6 This consists of two numbers; the first is the number of responses to IPv4 PTR queries ( 1.0.0.127.in-addr.arpa. → 127-0-0-1.sslip.io. ), the second, IPv6 PTR queries NS DNS-01 The number of responses which included a delegation of the NS (name server) to satisfy a certificate authority’s DNS-01 challenge. This lookup is used for generating wildcard certificates from Let’s Encrypt and other certificate authority. Technically this is not a «successful» query in that we don’t return a record in the ANSWER section, but we do return an NS record in the AUTHORITY section. (e.g. «dig @ns-gce.sslip.io _acme-challenge.192.168.0.1.sslip.io. soa»)

Related Services

  • xip.io: the inspiration for sslip.io. Sadly, this appears to be no longer maintained after Sam Stephenson left Basecamp.
  • nip.io: similar to xip.io, but the PowerDNS backend is written in elegant Python
  • localtls: A DNS server + webserver to provide TLS to on local addresses.
Footnotes

[Status] A status of “build failing” rarely means the system is failing. It’s more often an indication that when the servers were last checked (currently every six hours), the CI (continuous integration) server had difficulty reaching one of the three sslip.io name servers. That’s normal. [connection timed out]

DNS runs over UDP which has no guaranteed delivery, and it’s not uncommon for the packets to get lost in transmission. DNS clients are programmed to seamlessly query a different server when that happens. That’s why DNS, by fiat, requires at least two name servers (for redundancy). From IETF (Internet Engineering Task Force) RFC (Request for Comment) 1034:

A given zone will be available from several name servers to insure its availability in spite of host or communication link failure. By administrative fiat, we require every zone to be available on at least two servers, and many zones have more redundancy than that.

Как организовать правильный SSL сертификат?

Предыстория: в качестве rss-читалки/агрегатора я на своём домашнем сервере (есть выделенный провайдером IP для моей домашней сети) поднял tiny tiny rss readder. Всё меня долгое время устраивало, но официальный клиент для Android с неделю назад решил сделать «лучше», а именно «options to trust any SSL certificate have been removed»

То есть мне теперь нужно установить правильный SSL-сертификат. Я установил certbot (плагин для Apach) и попробовал его получить, но в процессе получения он хочет имя домена которое соответственно зарегистрировано.

Собственно говоря мне как сферическому в вакууме пользователе нужна только читалка и я особо не напрягаюсь с её компрометацией, но я готов пройти этот квест. Вопрос: как?

Как мне зарегистрировать доменное имя с минимальной кровью и желательно недорого? Можно ли при получения сертификата обойтись без этого? Использовать всё-равно этот сервис буду только я.

Итого: перенаправил 80ый порт и отсертифицировал свой сервис по самые уши через certbot и xip.io. Клиент съел это и не подавился (порт убрал на всякий случай). Теперь в браузере закрытый замочек видится, как положено. Через пол года надо будет повторить процедуру. Но IMHO какие-то костыли ей богу.

Благодарности: Всем спасибо за варианты решения. ЛОР можно использовать для своей пользы!

Вечный сервер — как избавиться от ежемесячных платежей за хостинг

Всем знакома ситуация, когда списания за хостинг происходят в неподходящий момент: на карте кончились деньги или она просрочена, письмо с уведомлением попало в спам, у вас в этот момент переезд и рожает кот. В итоге услуги блокируются, все ломается, и нужно срочно бежать оплачивать. А еще кризис, нужно пытаться не умереть от коронавируса и приходится выбирать между гречкой и оплатой серверов для личных проектов.

В статье мы расскажем как избавиться от регулярных платежей на содержание хостинга, доменных имен, SSL-сертификатов. И как сделать максимально автономный сервер, который переживет зомби-апокалипсис.

Вечный домен

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

При выборе доменного имени важно учитывать, что политика разных доменных зон отличается. Некоторые домены можно продлить на срок 10 лет и забыть, а другие нужно продлевать каждый год. Кроме даты продления, могут существовать другие ограничения на срок, который будет работать домен без вмешательства. Например, недавняя инициатива ICANN требует иногда вручную подтверждать актуальность email-адресов, указанных в whois. Выбирая домен, который можно будет оплатить один раз и забыть на долгое время, нужно учитывать все особенности правил доменной зоны. Попробуем разобраться, какой домен лучше подходит для вечных проектов.

Приватность персональных данных в зоне .RU

Существует заблуждение, будто все доменные зоны (TLD — top level domain) принадлежат одной организации вроде ICANN, но это не так. ICANN только устанавливает общие правила и координирует работу организаций, управляющих своими доменными зонами.

У каждой доменной зоны есть своя организация, устанавливающая для нее правила. Например, зоной .ru раньше управляла РосНИИРОС (Российский научно-исследовательский институт развития общественных сетей), а сейчас для этого создана отдельная организация Координационный центр национального домена сети Интернет.

Эта организация устанавливает правила регистрации и решения споров внутри доменной зоны.
Важно учитывать, что согласно регламенту доменной зоны RU. и.РФ, ваши персональные данные могут быть раскрыты регистратором по адвокатскому запросу.

Согласно пункту 11.2.4 и 11.2.3 регламента доменной зоны RU и РФ информация о владельце домена может быть выдана по адвокатскому или судебному запросу к регистратору. Регистратор вправе сообщить сведения о точном полном наименовании (имени) и месте нахождения (жительства) администратора исключительно по письменному запросу для целей предъявления судебного иска.

Это значит, что любой, кто обратится к адвокату, состоящему в любой российской коллегии адвокатов и имеющему адвокатское удостоверение, может узнать полные реквизиты вашего доменного имени.

Любой желающий может раскрыть регистрационные данные физического лица, на которого зарегистрирован домен .RU или.РФ, включая его домашний адрес, телефон, ФИО, номер паспорта и т.д.

Вот как выглядит ответ на адвокатский запрос на примере регистратора рег.ру:

[Кликабельно] Ответ на адвокатский запрос с полными реквизитами владельца домена

В какой-то момент ваш проект может кому-то не понравится, или же наоборот, приглянется ваш красивый домен, и для обсуждения вопросов с вами захотят пообщаться лично. Довольно неприятно увидеть у себя на пороге людей, пришедших обсудить ваш сайт. Это нужно иметь в виду, регистрируя домен .RU или.РФ, если ваша цель зарегистрировать и забыть.

Как купить домен на 10 лет?

Максимальный срок продления домена определяется регламентом доменной зоны. Для зоны .RU это 1 год, для зоны .COM и .NET это 10 лет . Однако не все регистраторы предлагают возможность продления на 10 лет. Важно учитывать, что некоторые регистраторы предлагают услуги продления домена на больший срок, чем позволяют правила доменной зоны. Это маркетинговая уловка, на самом деле они просто берут с вас деньги за оплату нескольких продлений и потом скрытно продлевают домен без уведомлений. Реальный срок, на который продлен домен, указывается в whois в строке Expiry Date.

Реальный срок действия домена указан только в whois

Важно уметь отличать реальный срок истечения домена от того, что показывает регистратор в своей панели, потому что цены и условия продления могут измениться, и тогда регистратор может пересмотреть взятые на себя обязательства по продлению. Также при переносе домена к другому регистратору будет учитываться только реальный срок продления.

Итак мы решили продлить домен на максимально возможный срок, помним что .COM и .NET можно продлить на 10 лет. Для этого нужно выбирать регистратора, который по-настоящему продлевает домен на этот срок. Их не так мало, большинство крупных иностранных регистраторов это могут, например: uniregistry.com, domain.com и другие. Сервис Cloudflare не позволяет регистрировать у них домены, но позволяет перенести к себе домен с продлением на 10 лет.

Не все регистраторы могут продлить домен на 10 лет

Можно ли купить домен навсегда?

На сегодня мне неизвестно ни одной доменной зоны, предлагающей такой вариант продления. Бесплатные домены вроде .tk, .ml, .ga, .cf, .gq требуют регулярного подтверждения по электронной почте и могут быть деактивированы в любой момент. По слухам, если ваш сайт на бесплатном домене станет достаточно популярным, регистратор может отобрать его под надуманным предлогом и повесить туда заглушку с рекламой. Кроме того, их могут легко заблокировать по любой жалобе, поэтому я не рекомендую выбирать их как вариант на длительный срок.

Даже домены продленные на 10 лет могут потребовать подтверждения по электронной почте. Иногда ICANN инициирует процедуру верификации контактов и требует от регистратора отправить клиентам письмо со ссылкой. Если в течение определенного срока не кликнуть по ссылке и не подтвердить данные, домен могут временно заблокировать. Поэтому важно просматривать почту на которую зарегистрирован домен, чтобы его внезапно не отобрали.

Вечный SSL-сертификат

Каждый год браузеры и операционные системы все строже относятся к нешифрованному протоколу HTTP. Google Chrome в новых версиях обещает показывать предупреждение о том, что вы посещаете небезопасный сайт по протоколу, если сайт не имеет поддержки HTTPS. Поисковые сайты понижают в выдаче сайты без HTTPS. Поэтому очевидно, что без SSL-сертификата будет сложно.

Как не страдать от постоянного истечения SSL-сертификатов и покупки новых? Конечно же использовать Lets Encrypt! Это популярный бесплатный сервис для автоматического выпуска SSL-сертификатов. Он позволяет забыть о выпуске SSL-сертификатов навсегда и поручить это автоматике. Для него существует множество реализаций и клиентов, ровно как и инструкций по настройке. Для связки c веб-сервером nginx, самый популярный клиент certbot. Скорее всего lets encrypt с нами надолго, и в ближайшие 10 лет его протокол и условия вряд ли сильно изменятся.

Описание использования lets encrypt выходит за рамки этой статьи, поэтому затронем только важные моменты. При выпуске сертификата вам предлагается опционально указать email. На этот адрес будут приходить уведомления, если сертификат по какой-то причине не смог перевыпуститься самостоятельно. Протокол ACME, на котором работает lets encrypt, иногда изменяется и требует обновления клиента. Уведомления о том, что вы используете устаревший клиент, тоже придут на эту почту.

Письмо с напоминанием от Lets Encrypt об устаревшем протоколе

За время существования Lets Encrypt в его протокол несколько раз вносились изменения, и можно ожидать в будущем, что это будет происходить и дальше. Так что важно следить за его напоминаниями, чтобы сертификат внезапно не сломался.

SSL-сертификат без домена

Без домена выпустить SSL-сертификат невозможно, но что, если вы разворачиваете сервер для внутреннего API или тестов, и покупать домен только ради сертификата не хочется. И не нужно, ведь у вас уже есть домен, привязанный к вашему серверу! Сервис SSLip.io предоставляет заранее сгенерированные домены для всех существующих IP-адресов в мире.

Достаточно просто преобразовать IP-адрес вашего сервера в специальную запись поддомена.

Вот как это выглядит:

Если IP-адрес сервера: 123.45.67.89
Домен будет: 123-45-67-89.sslip.io

Проверим действительно ли это так:

$ host 123-45-67-89.sslip.io 123-45-67-89.sslip.io has address 123.45.67.89 

Так можно моментально выпустить сертификат для нового сервера без необходимости настраивать какие-либо домены и DNS. SSLip.io можно использовать в скриптах в связке с автоматическим определением внешнего IP-адреса сервера, и генерировать полностью настроенный сервер прямо при первой загрузке.

Вечный сервер

Для тех, кого раздражают ежемесячные и ежегодные платежи за хостинг, мы придумали новый тип тарифов — вечные серверы. Достаточно оплатить сервер один раз и больше никогда не вспоминать об этом, сервер будет работать до скончания века или пока нас всех не истребит новый вирус.

Это особенно полезно для разработчиков, которые используют сервер для хостинга хобби-проектов, тестов и разработки. Не нужно переживать, что сервер отключится за неуплату или в нужный момент на карте не окажется денег, что особенно актуально в периоды кризисов.

Характеристики самого популярного вечного тарифа:

Процессор: 2 ядра, частота процессора до 4.5 GHz. Используются процессоры семейства Intel Scalable.
Оперативная память: 2 ГБ DDR4
Диск: 40 ГБ NVMe
Трафик: 32 ТБ/месяц
Ширина канала: 500 Мбит/сек
ОС: Linux или Windows стоимость лицензии уже включена в тариф

Действительно ли сервер вечный?

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

Есть ли скрытые платежи?

Нет. Отдельная плата за установку не взимается. В стоимость входит 1 IPv4 адрес. Переустанавливать ОС на сервере можно из контрольной панели бесплатно, без ограничения на количество раз.

Что будет если закончится трафик?

Квота на суммарный объем трафика — 32ТБ в месяц, учитывается входящий + исходящий. Ровно такое число получается при полной загрузке канала 100Mbit/s в течение месяца. Если квота будет превышена, со счета будет списываться по 200 руб. за 1ТБ. Если в этот момент на счету не будет денег, то работа сервера будет приостановлена.

Автоматические обновления безопасности

Если наступит зомби-апокалипсис, скорее всего вы будете слишком заняты, чтобы читать регулярные отчеты по безопасности и новым уязвимостям. В борьбе за выживание в бункере можно легко не заметить, что ПО на вашем сервере стало уязвимо.

Если вовремя не запатчить уязвимости, вас быстро взломают и запустят на нем майнер криптовалюты или добавят его в DDoS-ботнет. В этом случае есть большая вероятность, что вас заблокируют за вредоносную активность или перерасход ресурсов.

Для борьбы с такими ситуациями существуют автоматические обновления безопасности. В Ubuntu это называется Unattended upgrades, но аналоги есть и в других дистрибутивах.

Рассмотрим настройку на Ubuntu:

# Устанавливаем пакет apt-get install unattended-upgrades # Запускаем интерактивное меню для настройки dpkg-reconfigure unattended-upgrades 

Активация автоматических обновлений безопасности

По-умолчанию система будет проверять наличие обновлений безопасности раз в день, и если обновления будут доступны, то автоматически устанавливать их. Для этого сервер может быть автоматически перезагружен, поэтому важно настраивать автоматический запуск нужных служб при загрузке. Следует помнить, что unattended-upgrades устанавливает только критические обновления безопасности, версии установленных программ и дистрибутива не будут изменены.

Заключение

Все советы, описанные в статье по-прежнему требуют от вас внимательно следить за почтовым ящиком, чтобы реагировать на срочные уведомления. К сожалению, от этого пока избавиться нельзя, поэтому впасть в кому на длительный срок все равно рискованно.

Но это поможет вам оптимизировать расходы и не зависеть от ежемесячных платежей. Разумеется, крупные проекты нельзя оставить в режиме автопилота надолго, они всегда требуют внимания и допиливания. Описанное в статье скорее подойдет для хостинга хобби-проектов, разработки, приложений умного дома, мониторинга, личного VPN-сервера, Telegram-ботов и т.д.

Поделитесь, пожалуйста, в комментариях, какие вы нашли способы оптимизировать расходы.

  • вечный сервер
  • letsencrypt
  • sslip.io
  • unattended upgrades
  • автоматические обновления
  • lifetime service
  • оптимизация расходов
  • вечный домен
  • Блог компании VDSina.ru
  • Хостинг
  • Финансы в IT

Нужен бесплатный SSL-сертификат? Легко

Если вам нужен SSL-сертификат, но вы не являетесь специалистом в веб-технологиях, то эта заметка для вас. Описан простой способ выпуска базового SSL-сертификата Let’s Encrypt в ручном режиме, на локальном компьютере с Windows, с помощью приложения Certbot. Этот способ позволяет получить файлы SSL-сертификата в папку на своём локальном компьютере, после чего можно установить сертификат на свой хостинг.

Потребность в SSL-сертификатах возникла у меня в связи с тем, что срок старых истёк, а создать новые оказалось невозможным из-за возникших ограничений на доменные зоны RU и РФ. Если у вас такая же проблема или вам просто надоело искать веб-сервис для выпуска SSL-сертификатов, то эта заметка вам поможет.

Поскольку я пока не знаю наилучшего пути, то ниже просто опишу ту последовательность действий, которую сам выполнил и которая позволила мне создать SSL-сертификаты для десяти своих доменов (в том числе в зонах RU и РФ), а значит и вам этот способ может помочь.

Создание SSL-сертификата на локальном компьютере

  1. Установил на свой локальный компьютер (с операционной системой Windows 11) программу Certbot.

    Установочный файл Certbot взял с официального сайта здесь (см. ссылку на загрузку дистрибутива в п.3 на открывшейся по ссылке странице).

Работа с программой Certbot осуществляется через командную строку или PowerShell (я использовал PowerShell). На время выпуска сертификата, естественно, компьютер должен быть подключен к сети Интернет.

  1. Открыл PowerShell (х86) с правами администратора.

    Для этого нажал на кнопку «Пуск» и набирая первые буквы названия PowerShell увидел нужный пункт в результатах поиска, затем правым щелчком мыши по названию найденной программы открыл контекстное меню и в нём выбрал пункт «запуск от имени администратора».
  2. В окне PowerShell с помощью команд cd перешёл в каталог Certbot (вводил как показано на скриншоте и нажимал в конце строки клавишу Enter):
  1. Вставил из буфера обмена команду для создания сертификата (можете скопировать её из этой строки):

    certbot certonly —authenticator manual

    И нажал клавишу Enter.

    Перед нажатием Enter окно PowerShell выглядело с этой командой так:

  1. Система предложила ввести свой email (я ввёл), согласился с условиями (нажимая клавишу Y), в следующий раз программа на этом шаге уже не просила вводить email, а сразу предлагала ввести имена доменов (я вводил сразу по два – второй с www, через запятую):

  1. Программа попросила создать файл проверки прав на домен. При этом показано какую строку символов и в файл с каким именем поместить, по какому адресу на веб-сервере этот файл положить:

Поскольку я вводил по два доменных имени (обычное и с www), то после нажатия Enter программа точно так же просила создать ещё один проверочный файл.

С помощью Filezilla Client я создал нужные файлы по требуемому адресу, создав нужные директории. Выделенный текст из окна PowerShell можно копировать просто правым кликом, или привычным сочетанием клавиш Ctrl+C.

    Нажал клавишу Enter для создания сертификата, но только после того, как проверочные файлы на веб-сервере были созданы.

Система сообщила об успешном создании файлов сертификата, которые я нашёл на своём локальном компьютере, в папке:

Вот и всё, сертификаты готовы!

Для установки их на хостинг мне потребовались три файла из четырёх, из данной папки:

cert1.pem – сертификат
chain1.pem – промежуточный сертификат
privkey1.pem – приватный ключ

Эти файлы со своего компьютера не удаляйте, поскольку при следующем выпуске сертификатов (их приходится создавать заново каждые 90 дней) Certbot проверит их наличие и создаст рядом новые, со следующим порядковым номером. Для установки на хостинг нужно будет использовать, конечно, новые.

Ограничения

Через каждые 90 дней нужно перевыпускать сертификат заново.

P.S.:

Я ещё не озадачился тем, как автоматизировать описанный выше процесс (мне интересен перевыпуск сертификата именно на локальном компьютере с Windows). Было бы здорово, если бы знающий человек написал в комментариях как это сделать.

  • Хостинг
  • Информационная безопасность
  • Веб-разработка
  • Сетевые технологии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *