Admin Future
239 subscribers
50 photos
1 video
4 files
87 links
Превращаем эникейщиков в System Architects.
🚀 Твой навигатор в мире IT-инфраструктуры:

▪️ Hard Skills: Linux, Windows, Network, Security
▪️ Tools: Лучший софт и скрытые фишки
▪️ Mindset: Как думать, чтобы платили много


Админ - @maksimshap
Download Telegram
Linux: Nginx как Reverse Proxy — швейцарский нож для админа

Просто хостить сайт на сервере — это прошлое. Современный подход — спрятать ваше приложение (Apache, Gunicorn, Node.js) за Nginx, который будет работать как обратный прокси. Это повышает безопасность, гибкость и производительность.

1️⃣ Зачем это нужно?

SSL/TLS Termination: Nginx берёт на себя всю работу с шифрованием, разгружая ваше приложение. Управлять сертификатами в одном месте — бесценно.
Load Balancing: Легко распределять трафик на несколько серверов-бэкендов.
Security: Прячет архитектуру вашего бэкенда. Можно настроить файрвол на Nginx и заблокировать вредоносный трафик до того, как он дойдёт до приложения.
Кэширование: Nginx может кэшировать статический контент (CSS, JS, картинки) и отдавать его мгновенно.

2️⃣ Установка и базовая настройка
Устанавливаем Nginx и удаляем дефолтный конфиг.


sudo apt update && sudo apt install nginx
sudo rm /etc/nginx/sites-enabled/default

3️⃣ Конфигурация Reverse Proxy
Создаём файл /etc/nginx/sites-available/myapp.conf. Предположим, ваше приложение работает на порту 8080.

Nginx

server {
listen 80;
server_name your_domain.com;

# Перенаправляем весь трафик на бэкенд
location / {
proxy_pass http://127.0.0.1:8080;

# Передаём реальный IP клиента и другие заголовки
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;
}
}

4️⃣ Включаем HTTPS (SSL Termination)
Добавим SSL с помощью Certbot (Let's Encrypt).


sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d your_domain.com

Certbot автоматически изменит конфиг, добавив listen 443 ssl; и пути к сертификатам.

5️⃣ Активация и проверка


# Проверяем синтаксис конфига
sudo nginx -t

# Создаём символическую ссылку для активации
sudo ln -s /etc/nginx/sites-available/myapp.conf /etc/nginx/sites-enabled/

# Перезапускаем Nginx
sudo systemctl restart nginx

📈 Итог: Вы построили базовый, но надёжный шлюз для вашего приложения.
Теперь вы можете легко добавлять новые сервисы, управлять SSL и готовиться к масштабированию.
Это уже не просто администрирование, а основы сетевой архитектуры.

#linux #nginx #proxy #security #network #архитектура
2🔥2
🆚 Reverse Proxy: Nginx vs Traefik

В 2025 году выбор прокси — это выбор парадигмы. Старая школа против Cloud-Native.

1. Nginx

Философия: «Конфиг — это закон». Всё прописывается в файлах .conf.

Плюсы: Невероятная производительность (C++), кэширование, работа со статикой, стандарт индустрии.

Минусы: Для обновления конфига нужен reload. В динамической среде (где контейнеры создаются и умирают ежеминутно) требует «костылей» (шаблонизаторы типа consul-template).

Вердикт: Идеален как фронт-балансировщик, ingress-контроллер для монолитов и отдачи статики.

2. Traefik

Философия: «Конфиг — это Discovery». Он сам слушает Docker/Kubernetes API и на лету создает маршруты.

Плюсы: Магия автоматизации. Повесил лейбл на контейнер — Traefik уже знает, куда слать трафик и сам выписал Let's Encrypt сертификат. Встроенный Dashboard.

Минусы: Медленнее Nginx на высоком трафике (написан на Go). Сложнее в тонкой настройке заголовков/буферов.

Вердикт: Король микросервисов и Docker Swarm/K8s.

📌 Итог: Если у вас статические IP и виртуальные машины — ставьте Nginx. Если у вас Docker/K8s и сервисы скачут по нодам — Traefik сэкономит вам сотни часов написания конфигов.

#devops #nginx #traefik #proxy #architecture #сравнение
🌐 Skill: SSH-туннелирование — пробиваем стены без VPN 🚇

Ситуация: Тебе нужно срочно подключиться к базе данных (PostgreSQL/MySQL) или веб-админке на закрытом сервере.
Порт базы (5432) закрыт файрволом и слушает только localhost.
VPN не настроен.
Всё пропало?

Нет. Если у тебя есть доступ по SSH (порт 22), у тебя есть доступ ко всему.

Команда 1: Local Port Forwarding (Проброс порта)
Мы «привязываем» удаленный порт к твоему ноутбуку.

# Синтаксис: ssh -L [Локальный_порт]:[Куда_хотим_попасть]:[Порт_цели] user@server
ssh -L 5432:localhost:5432 user@remote-server.com

Теперь в твоем DBeaver/PgAdmin просто пиши host: localhost, port: 5432.
Ты работаешь с базой так, будто она стоит у тебя на машине.

Команда 2: Dynamic Port Forwarding (Твой личный SOCKS-прокси)
Нужно открыть внутренний корпоративный сайт, который доступен только из офиса?

ssh -D 8080 user@office-server

Теперь в настройках браузера (или через расширение FoxyProxy) ставь SOCKS5 прокси: localhost:8080. Весь твой трафик пойдет через этот сервер.

Итог: SSH — это легальный и самый надежный VPN, который всегда с тобой. 🛡️

#networking #ssh #tunneling #security #sysadmin #lifehack #proxy
🎓 Собеседование сисадмина. Выпуск #7: Веб-серверы и Проксирование (Nginx & Troubleshooting)

Привет, коллеги! В 2026 году «просто поднять Apache» — это путь к увольнению по статье за профнепригодность. Веб-сервер сегодня — это первая линия обороны «цифровой крепости», где мы жонглируем TLS 1.3, отечественными сертификатами и отбиваемся от ботов еще до того, как они нагрузят наш бэкенд на ARM-процессорах.

Разберем три вопроса, на которых валят тех, кто застрял в 2015-м.

---
Вопрос 1: «В чем разница между proxy_pass на IP и на Unix-сокет? Когда что выбирать?»

Ответ новичка: «IP — это для интернета, а сокет — это внутри сервера. Сокет вроде бы быстрее».
Ответ инженера:
* Unix Sockets: Обмен данными идет напрямую через ядро Linux без участия сетевого стека (TCP/IP).
* Плюс: Меньше задержки (latency) и нагрузки на CPU.
* Минус: Работает только в рамках одной ОС. Если бэкенд переедет на соседний контейнер/сервер, придется переписывать конфиг.

* TCP (IP:Port): Данные проходят через весь сетевой стек, даже если бэкенд на том же хосте (loopback).
* Плюс: Легко масштабировать — просто меняем `127.0.0.1` на IP другого сервера.
* Вывод: В 2026-м для высоконагруженных локальных связок (Nginx + PHP-FPM/Python) используем сокеты, для микросервисов — TCP.

---

Вопрос 2: «Что такое "проблема Client IP" за прокси-сервером и как ее решить?»

Ответ новичка: «В логах бэкенда будет IP балансировщика. Чтобы увидеть реальный IP, нужно что-то включить в настройках».
Ответ инженера:
По умолчанию бэкенд видит IP того, кто к нему обратился — т.е. вашего Nginx. Чтобы передать адрес клиента, мы используем заголовок X-Forwarded-For или X-Real-IP.

* На стороне Nginx: прокидываем заголовок.
* На стороне бэкенда: используем модуль (например, `ngx_http_realip_module`), чтобы подменить адрес источника в логах и логике приложения.
* Важно:* В 2026-м обязательно настраиваем `set_real_ip_from`, чтобы доверять заголовкам только от своих балансировщиков, иначе любой школьник подменит свой IP в HTTP-заголовке.


---

Вопрос 3: «Зачем нужно прокси-буферирование (proxy_buffering) и когда его вредно выключать?»

Ответ новичка: «Буферизация — это кэш. Ее лучше включить, чтобы все работало быстрее».
Ответ инженера:
Буферизация позволяет Nginx «впитать» ответ от бэкенда максимально быстро и отпустить воркер бэкенда заниматься следующими задачами.


* Если включено: Nginx забирает ответ в память (или на диск) и сам медленно отдает его клиенту с плохим 5G-интернетом. Бэкенд свободен.
* Если выключено (off): Бэкенд будет «висеть» открытым, пока клиент не скачает последний байт. При 1000 медленных клиентах ваш бэкенд захлебнется в процессах.
* Исключение: SSE (Server-Sent Events) или стриминг, где данные должны уходить клиенту мгновенно.


---

Практический пример: Bulletproof Proxy Config 2026

Минимальный набор настроек для проксирования на внутренний сервис с учетом безопасности:


upstream backend_cluster {
server unix:/run/php-fpm.sock weight=5; # Быстрый локальный сокет
server 192.168.10.50:8080 backup; # Резерв на случай падения
}

server {
listen 443 ssl http2;
server_name service.local;

# Работа с реальными IP (только от доверенного шлюза)
set_real_ip_from 10.0.0.1;
real_ip_header X-Forwarded-For;

location / {
proxy_pass http_backend_cluster;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;

# Защита от "залипания" бэкенда
proxy_connect_timeout 5s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;

proxy_buffering on;
proxy_buffer_size 8k;
}
}



Зачем это нужно

Понимание работы прокси — это разница между «у нас сервер упал под нагрузкой» и «мы просто увеличили количество воркеров».

Вывод: Берегите бэкенды, делегируйте всю «грязную» работу по общению с клиентами Nginx'у.

#собеседование_AF #nginx #linux #proxy #highload #sysadmin #admin_future
🚀 VPN больше не нужен: Ускоряем Telegram через TG Unblock

Пока мы с вами обсуждали серверные стойки и бэкапы, на Хабре выкатили потенциальный убийцу VPN-сервисов для одного конкретного мессенджера. Если ваш Telegram в последнее время напоминает старый модем — сообщения висят в статусе отправки, а картинки грузятся годами — этот пост для вас.

Разработчик представил инструмент под названием TG Unblock. Это легкое решение на Rust, которое обходит замедление трафика, не требуя сторонних серверов или платных подписок.


Провайдеры используют системы DPI для распознавания протокола MTProto (на котором работает Telegram) и его замедления. Традиционные средства вроде GoodbyeDPI пытаются маскировать пакеты, но в 2026 году этого часто недостаточно из-за блокировок по IP.

TG Unblock идет другим путем:
1. Приложение поднимает локальный SOCKS5-прокси на вашем компьютере.
2. Весь трафик мессенджера упаковывается в WebSocket-соединение.
3. Провайдер видит это как обычный HTTPS-трафик к домену web.telegram.org (веб-версии мессенджера), которую обычно не трогают, чтобы не ломать работу браузерных версий.


Основные фишки инструмента

* Rust внутри: Приложение весит всего 6 мегабайт и почти не ест ресурсы системы.
* Автоматизация: Программа сама определяет нужный дата-центр Telegram по IP-адресу назначения и направляет трафик на правильный эндпоинт.
* DNS-защита: При запуске софт меняет DNS на 1.1.1.1 (Cloudflare), чтобы обойти блокировки на уровне имен.
* Чистый Open Source: Весь исходный код доступен на GitHub, можно проверить лично, что ваши ключи никуда не улетают.


Пока инструмент доступен только для Windows, но автор обещает версии для Linux и macOS в ближайшее время.

1. Скачиваешь бинарник из раздела Releases на GitHub проекта tglock.
2. Запускаешь приложение. Оно само пропишет нужные настройки в системе.
3. В настройках Telegram (Продвинутые настройки -> Тип соединения) убеждаешься, что выбран пункт Использовать системные настройки прокси или вручную указываешь SOCKS5 (localhost и порт, который выдаст программа).


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

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

В 2026 году побеждает не тот, у кого самый мощный сервер, а тот, кто умеет маскировать трафик под котиков и обычный веб-серфинг.

habr
github

#telegram #unblock #rust #proxy #sysadmin #networking #admin_future
🔥3