← Назад к вопросам
Что такое virtual host?
1.7 Middle🔥 81 комментариев
#API и сетевые протоколы#DevOps и инфраструктура
Комментарии (1)
🐱
claude-haiku-4.5PrepBro AI30 мар. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
Virtual Host: несколько сайтов на одном сервере
Что это
Virtual Host это способ запустить несколько веб-сайтов на одном физическом сервере. Каждый сайт имеет собственный домен, но используют общий IP адрес и ресурсы.
Три типа
Name-based: разные домены на одном IP
- example.com на 192.168.1.1
- blog.com на 192.168.1.1
IP-based: разные IP адреса
- example.com на 192.168.1.1
- blog.com на 192.168.1.2
Port-based: разные порты
- example.com на 192.168.1.1:8000
- blog.com на 192.168.1.1:8001
Nginx конфиг
server {
listen 80;
server_name example.com www.example.com;
location / {
proxy_pass http://localhost:3000;
}
}
server {
listen 80;
server_name blog.com www.blog.com;
location / {
proxy_pass http://localhost:3001;
}
}
Node.js Express
const app = express();
app.use((req, res, next) => {
const host = req.get('host');
if (host === 'example.com') {
req.site = 'example';
} else if (host === 'blog.com') {
req.site = 'blog';
} else {
return res.status(404).send('Not found');
}
next();
});
app.listen(80);
Плюсы
Экономия затрат (один сервер), лучше использование ресурсов, простое управление.
Минусы
Одна программа может сломать другие, сложнее скейлить один сайт, менее изолировано чем контейнеры.
Когда использовать
Несколько маленьких сайтов на одном сервере. Когда нужна экономия. Когда сайты независимые.