Задать вопрос
@blazer05

Как на одном ip запускать сайты под Apache и Nginx?

Здравствуйте.
Есть один статический ip и несколько машин.
Машина 192.168.1.2 под Апачем за роутером на которую открыт 80порт. И есть машина в этой же сети 192.168.1.4 под Nginx и на ней открыт 8080 порт.
Сайты которые на машине 192.168.1.2 доступны как site.ru, site2.ru
Сайты которые на машине 192.168.1.4 доступны как mysite.ru:8080, mysite2.ru8080

Как сделать, чтобы сайты на машине 192.168.1.4 были доступны mysite.ru, mysite2.ru ???
Что нужно сделать в данном случае сконфигурировать как то апач или nginx или такое вообще не возможно сделать в приделах одного статического ip?

Провайдер сказал у него нет возможности на один аккаунт выдавать несколько статических ip адресов.
  • Вопрос задан
  • 308 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 3
SignFinder
@SignFinder
Wintel\Unix Engineer\DevOps
Проксируете трафик на apache через nginx, если нужен apache. Или не проксируете -если нужен nginx. В результате на входе всегда стоит nginx - это сейчас вообще стандартное решение.
Ответ написан
Комментировать
@aosvxs7ui
nginx как реверс прокси. Пробрасываешь порты 80 и 443 с гейта на реверс прокси. Тот в свою очередь, должен у тебя проксировать запросы в зависимости от урла который который вызывает клиент.
Ответ написан
Комментировать
@blazer05 Автор вопроса
Всем спасибо за помощь. Сделал сам с подсказками пользователя DevMan.
Поскольку у меня под виндой стоит Openserver, то там не много другая структура.
Нужно создать в каталоге domains новый каталог сайта к примеру mysite. В него скопировать файл используемой версии апача, у меня это Apache-2.4_vhost.conf. Этот файл находится у меня по этому пути D:\openserver\userdata\config\Apache-2.4_vhost.conf (у вас свой путь до опенсервера).
Далее в настройках опенсервера в доменах добавил этот каталог mysite.ru в список созданных доменов.

Далее в файле Apache-2.4_vhost.conf в хост который там есть поумолчанию я добавил перенаправление на нужную мне машину.
<VirtualHost *:%httpport%>
    DocumentRoot    "%hostdir%"
    ServerName      "%host%"
    ServerAlias     "%host%" %aliases%
    ScriptAlias     /cgi-bin/ "%hostdir%/cgi-bin/"
	ProxyRequests Off
	ProxyPass "/" "http://192.168.1.4:8080/"
    ProxyPassReverse "/" "http://192.168.1.4:8080/"
</VirtualHost>

И в файле D:\openserver\userdata\config\Apache-2.4_server.conf раскомментировал эти модуля mod_proxy.so и mod_proxy_http.so . Все далее перезапускаем опенсервер и сайт доступен без префикса порта в моем случае это был порт 8080.
Но все же есть одна проблемка, сейчас сайт доступен как mysite.ru так и mysite.ru:8080, как сделать чтобы mysite.ru:8080 не работал, а только работал mysite.ru?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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