Привет. Данный пост предназначен для любителей халявы и содержит готовый рецепт по получению доменного имени, услуг DNS-сервера и SSL-сертификата с затратами 0 рублей 0 копеек. Бесплатный сыр бывает только в мышеловке и это правда, так что рецепт скорее для тех кто хочет красивую ссылку на свой личный небольшой проект с поддержкой https а не для серьёзных проектов.
Доменное имя
Идём на сайт www.registry.cu.cc, там сразу же вбиваем нужное имя и нажимаем check availability => checkout если нужное имя доступно. После чего регистрируемся и идём в личный кабинет где видим свои доменные имена.
Находим нужное имя, идём в Nameserver и прописываем там DNS яндекса.
DNS-сервер
Далее идём сюда pdd.yandex.ru/domains_add и добавляем только что созданное доменное имя.
Видим что «Не удалось найти домен в DNS», ждём пока яндекс его найдёт.
После чего подтверждаем владение доменом добавив соответствующую CNAME запись как написано в подробной инструкции яндекса. После чего ждём пока яндекс найдёт нужную ему запись и подтвердит владение доменом. Может потребоваться довольно много времени.
После чего видим долгожданную надпись о том что домен подключён и делегирован на DNS яндекса.
Далее идём в Редактор DNS и добавляем A — запись привязывая доменное имя к ip — адресу своего сервера.
Может пройти довольно много времени пока эта A — запись вступит в силу. Запустим что-нибудь локально ( ведь мы прописали адрес сервера 127.0.0.1 ) и посмотрим как будет ресолвиться наш домен. Работает!
На этом с DNS-сервером всё, теперь займёмся получением ssl сертификата и обеспечим доступ к нашему серверу по https ( безопасность превыше всего ).
SSL-сертификат
Идём на www.startssl.com/Validate, регистрируемся, выбираем Validations Wizard => Domain Validation (for SSL certificate), вводим наш домен
И там нам предлагают доказать что мы владеем доменом при помощи e-mail, выбираем любой который нам нравится, создаём его в яндексе. Отправляем туда письмо, берём оттуда код и доказываем что домен принадлежит нам.
Затем идём в Certificates Wizard => Web Server SSL/TLS Certificate, указываем наш домен, генерим и вставляем ключ и нажимаем submit
Ключ можно сгенерировать например так
mkdir ./certificates
mkdir ./certificates/habr.cu.cc
cd ./certificates/habr.cu.cc
openssl genrsa -out ./habr.cu.cc.key 2048
openssl req -new -sha256 -key ./habr.cu.cc.key -out ./habr.cu.cc.csr
cat ./habr.cu.cc.csr
Сертификат получен! Скачиваем себе архив
Распаковываем и копируем файлы ключей в директорию nginx
cp ~/Downloads/habr.cu.cc/1_habr.cu.cc_bundle.crt /usr/local/etc/nginx/1_habr.cu.cc_bundle.crt
cp ./habr.cu.cc.key /usr/local/etc/nginx/habr.cu.cc.key
nano /usr/local/etc/nginx/nginx.conf
Немного рихтуем конфиг
server {
listen 8080;
ssl on;
server_name localhost;
ssl_certificate /usr/local/etc/nginx/1_habr.cu.cc_bundle.crt;
ssl_certificate_key /usr/local/etc/nginx/habr.cu.cc.key;
Перезапускаем nginx
nginx -s stop
nginx
Открываем нашу страничку используя https… и всё работает!
Мы получили доменное имя, услуги DNS-сервера и подтверждённый SSL сертификат не заплатив никому ни копейки, и при этом совершенно легально. Для запуска нашего ультра-мега-гига сервиса осталось только поднять
Автор: Strain