Ответ
Да, это стандартная практика, реализуемая через виртуальные хосты (server blocks). Nginx определяет, какой сайт обслуживать, анализируя заголовок Host в HTTP-запросе.
Пример конфигурации:
# Сайт site1.com
server {
listen 80;
server_name site1.com www.site1.com;
root /var/www/site1/html;
index index.html;
# Другие директивы для site1
}
# Сайт site2.com на том же порту
server {
listen 80;
server_name site2.com;
root /var/www/site2/html;
index index.php index.html;
# Другие директивы для site2
}
Ключевые моменты:
- Все блоки
serverслушают один порт (например, 80 или 443). - Идентификация происходит по полю
server_name(доменное имя). - DNS-записи всех доменов (
site1.com,site2.com) должны указывать на IP-адрес этого сервера. - Для HTTPS (порт 443) используется один сертификат с несколькими именами (SAN) или отдельные сертификаты, объединённые в конфигурации.