TGViewer
Bash Days | Linux | DevOps Bash Days | Linux | DevOps @bashdays · 23.6K subscribers
Post #986 13.4K
Отдыхаешь? А как тебе такое? Если пропиздоглазил, то смотри на зеленый замочек и домен.

Короче — я сгенерил валидный SSL сертификат для домена localhost.

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

Называется mkcert. Работает на всём, Винда, Линукс и Мак. В случае с виндой установка осуществляется через менеджеры пакетов scoop или chocolatey.

Чтобы установить scoop в powershell нужно забить:

Set-ExecutionPolicy RemoteSigned -scope CurrentUser
irm get.scoop.sh | iex


И заинсталлить mkcert

scoop bucket add extras
scoop install mkcert
mkcert -install


Получаем такое:

Created a new local CA 💥
The local CA is now installed in the system trust store! ⚡️
Note: Firefox support is not available on your platform. ℹ️


Всё! Теперь у нас есть свой доверенный центр сертификации.

Выпускаем первый SSL сертификат.

Ебли с этим никакой нет, запускаем:

mkcert bashdays.kek "*.bashdays.kek"


То есть просто перечисляем список доменов.

В ответ получаем:

Created a new certificate valid for the following names 📜
- "bashdays.kek"
- "*.bashdays.kek"

Reminder: X.509 wildcards only go one level deep, so this won't match a.b.bashdays.kek ℹ️

The certificate is at "./bashdays.kek+1.pem" and the key at "./bashdays.kek+1-key.pem" ✅

It will expire on 2 August 2027 🗓


В результате получаем bashdays.kek+1.pem — сертификат и bashdays.kek+1-key.pem - приватный ключ.

Ну а дальше пихаем их в жопы в нужное место и наслаждаемся зеленым замочком.

Если серты и ключи тебе нужно генерить в определенном месте, можешь это указать так:

mkcert -cert-file=/ssl/fullchain.crt -key-file=/ssl/private.key bashdays.kek


Это полезно если у тебя какая-то автоматизация или баш скрипт, который автоматом будет это всё генерить, а nginx или angie это подхавывать.

Чтобы этой хуйнёй воспользоваться на WSL, делаем так:

sudo apt install libnss3-tools
curl -JLO "https://dl.filippo.io/mkcert/latest?for=linux/amd64"
chmod +x mkcert-v*-linux-amd64
sudo cp mkcert-v*-linux-amd64 /usr/local/bin/mkcert


Здесь мы не выполняем инициализацию mkcert -install, на WSL мы только генерим SSL сертификаты.

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

Идем на виндовую машину и выполняем:

mkcert -CAROOT


В ответ получаем путь до корневого сертификата, у меня такой:

C:\Users\user\AppData\Local\mkcert

Возвращаем в WSL и выполняем:

echo "export CAROOT=/mnt/c/Users/user/AppData/Local/mkcert" >> ~/.bashrc


Если у тебя zsh, сам разберешься.

Теперь можно выпускать SSL сертификаты в WSL и в винде они будут считаться доверенными.

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

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

mkcert давнишняя штука, но как оказалось про неё мало кто знает, я про нее слышал года 4 назад, но успешно забыл. И вот только сегодня нашел в своих bash скриптах интеграцию с ней.


Для локальных целей прям маст-хев! Забирай на вооружение.

🛠 #ssl #utilites

@bashdays / @linuxfactory / @blog
More from @bashdays
  1. Sep 24, 2026Траблшутинг - мастхэв компетенция для инженера В Rebrain траблшутинги проводят уже несколь…
  2. Sep 23, 2026Здрасти приехали, решил я в кой-то веке воспользоваться услугами Codex, создал аккаунт, по…
  3. Sep 23, 2026📣 GuardConf 2026 для тех, кто принимает решения о программных продуктах Как быстрее выпус…
  4. Sep 22, 2026Всем привет, с вами TagdTagd. Сегодня опять поднимем тему архивов, но немного с другой сто…
  5. Sep 21, 2026Объектное хранилище в эпоху быстрых данных Объём данных, с которыми нужно работать, растёт…
  6. Sep 15, 2026Всем привет, с вами TagdTagd. И это вторая часть. Практическая. С первой частью можешь озн…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →