🧱 Суть
Для коротких ссылок лучше выделять отдельный поддомен, который будет работать только как “редирект-сервис”.
📦 Проблема
Если использовать основной домен приложения:
toolbox.letunoff.ru/1JmpqPто:
- смешивается UI и короткие ссылки
- сложнее масштабировать сервис
- хуже читается архитектура
✅ Решение
Выделить отдельный поддомен под сокращённые ссылки:
💻 Код
Варианты поддоменов
t.letunoff.ruили:
go.letunoff.rus.letunoff.ru
lnk.letunoff.ruРекомендуемый вариант
go.letunoff.ruПример ссылки:
https://go.letunoff.ru/1JmpqPНастройка системы
1. DNS запись
Добавляется A-запись:
Type: A
Name: go
Value: IP VPSРезультат:
go.letunoff.ru → IP сервера2. Nginx конфигурация
Отдельный server block для поддомена:
server {
server_name t.letunoff.ru;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}3. SSL сертификат
sudo certbot --nginx -d t.letunoff.ruЛогика генерации ссылок
В .env:
SHORT_LINK_DOMAIN=https://t.letunoff.ruВ коде:
$shortUrl = config('app.short_link_domain') . '/' . $code;Архитектурная идея
toolbox.letunoff.ru → основное приложение
t.letunoff.ru → только редиректы🎯 Вывод
- отдельный поддомен = правильная архитектура сервиса
- редиректы отделяются от основного приложения
- легче масштабировать и поддерживать
- выглядит как полноценный production-сервис