@IvanSerr

Как связать несколько сайтов к одному IP?

Есть 1 "белый" IP и 3 виртуальных сервера. На 1 виртуалке расположен основной сайт site.ru ("Лампа" на CentOS 7). Как сделать так, чтобы при обращении к поддомену name1.site.ru подругружался сайт с 1 виртуального сервера, а при обращении к name2.site.ru к другому?
  • Вопрос задан
  • 153 просмотра
Решения вопроса 1
Все запросы должен ловить единый сервер, например, nginx.
По заголовкам запросов Host: ... перенаправлять/проксировать запрос на соотв. виртуальный сервер.

server {
  server_name site.ru;
  location / {
        proxy_pass http://127.0.0.1:8000; # допустим, тут слушает основной
        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;
        # ... ещё инструкции - передача заголовков, кэширование..
    }
}

server {
  server_name name1.site.ru;
  location / {
      proxy_pass http://127.0.0.1:8001; # вирт-1
      # ...
  }
}

server {
  server_name name2.site.ru;
  location / {
      proxy_pass http://127.0.0.1:8002; # вирт-2
      # ...
  }
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы