Отлучаем сервисы от 443-го порта

Все любят 443-й порт. А некоторые еще и 80-й. Короче таких любителей много, а порт один и повесить все сервисы на один порт невозможно. Ну вообще возможно все. Если захотеть. И использовать правильные инструменты.

Есть у меня Raspberry Pi на котором крутились разные сервисы и до поры не мешали друг-другу. 80-й и 443-й порты занимал zwift-offline. Я понимаю по какой причине они захардкодили эти порты, но не понимаю почему они не оставили возможности их изменения для работы через прокси. Но мы это починим и довольно скоро. Так вот, жил у меня весь этот зоопарк пока не появилась необходимость поднять еще один подобный сервис, который тоже хочет 443-й порт, да еще и со своим сертификатом. Ну в общем требования такие же как у zwift-offline. Осталось придумать как все это засунуть в бедную Raspberry Pi и заставить работать.

/img/haproxyfying-them-all/kdpv.png
[Далее]

Создаем reverse proxy с mTLS на Ktor

Если вы любите интегрироваться с внешними системами, которые придерживаются высоких стандартов безопасности, то наверняка сталкивались с такой штукой как Mutual TLS (aka взаимная TLS аутентификация или mTLS). Ничего особенно сложного в такой интеграции нет. За исключением двух нюансов:

  1. Интеграцию придется делать в каждом сервисе
  2. В каждый сервис нужно положить клиентские сертификаты для прохожения хэндшейка mTLS

И если с первым нюансом можно как-то жить и мириться, то второй уже вызывает гораздо больше проблем и приводит к грустным лицам вашей команды инфобеза. Чтобы сделать их снова счастливыми, а заодно ликвидировать потребность писать один и тот же код в каждом сервисе — можно сделать умный reverse proxy, который возьмет на себя все тяготы и лишения связанные с хэндшейком и возможно какой-то другой дополнительной логикой, которую накрутили авторы внешней системы. Делать это хозяйство будем на Ktor, потому что почему бы и нет ;)

[Далее]

Kotlin ❤️ Backend

Какое-то время назад я проводил сравнение JVM фреймворков для разработки backend-сервисов. Задача оказалась довольно амбициозной и затратной по времени, поэтому я ее так и не доделал до конца. Но часть вещей все же удалось сравнить из описать. Я решил, что не пропадать же тексту зря и публикую здесь кусок который касается набирающего сейчас популярного фреймворка - Ktor.

[Далее]

Как выбрать сервер для web приложения

Привет. Можешь помочь с требованиям к прод серверу ? Какой мощности нам хватит?

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

[Далее]