Ньюбский вопрос по nginx+apache

K
На сайте с 12.07.2006
Offline
295
Kpd
832

Из-за жары плохо соображаю, помогите решить простую задачку.

Есть nginx + apache, есть 2 ip-адреса и 2 сайта (каждый на своём Ip). В конфиге nginx для обоих сайтов указано

Собственно задача - нужно сделать так, чтобы по адресу http://первый_ip/ открывался первый сайт, а по адресу http://второй_ip/ второй. Проблема в том, что когда идет прямое обращение по ip, т..е. server_name нет, apache не может разделить запросы и в обоих случаях отдает динамический контент первого сайта. Одно решение я вижу - назначить для второго сайта другой порт или другой ip на apache, например, 127.0.0.2:81 . Есть более красивые решения?

Andreyka
На сайте с 19.02.2005
Offline
822
#1

Есть. Указывать host явным образом.

Не стоит плодить сущности без необходимости
K
На сайте с 12.07.2006
Offline
295
Kpd
#2
Andreyka:
Есть. Указывать host явным образом.

это в nginx.conf? Т.е. вместо

proxy_set_header Host $host;

написать

proxy_set_header Host site2.ru;

?

UPD. Точно, оно. Благодарю за подсказку.

globalmoney
На сайте с 09.12.2005
Offline
398
#3

Kpd, ни чего не надо меня в proxy_set_header, оставьте так, как и было до этого.

Вам всего лишь надо в nginx создать для каждого сайта, две разные записи виртуал хоста и в них для каждого сайта, назначить ip адреса, т.е. в параметре listen и proxy_pass, а в Apache, в VirtualHost'e.

MGNHost.ru - полный комплекс хостинг услуг ( https://www.mgnhost.ru ) VPS/VDS на SSD дисках в России / Нидерландах / США от 250 рублей ( https://www.mgnhost.ru/vds.php )
Andreyka
На сайте с 19.02.2005
Offline
822
#4

globalmoney, читай внимательно - у ТС ip-based хосты в апаче. Хотя зачем это надо, если он все равно за nginx, я так и не понял.

globalmoney
На сайте с 09.12.2005
Offline
398
#5
Andreyka:
globalmoney, читай внимательно - у ТС ip-based хосты в апаче. Хотя зачем это надо, если он все равно за nginx, я так и не понял.

По его сообщению вообще не понятно, зачем стоит nginx, если Apache у него висит на 80 порту.

Если он хотел повесить nginx, как frontend, а Apache как beckend, то он что-то напутал с конфигами. Ему просто надо конфиги нармально настроить (прописать там всё правльно) и тогда проблем не будет.

Andreyka
На сайте с 19.02.2005
Offline
822
#6

Он может на nginx траф гнать через snat, оставляя апач на 80-ом порту

VN
На сайте с 05.05.2009
Offline
34
#7

Andreyka, если бы он такое смог сделать, данной темы не было тогда.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий