Re: Apache nginx доступ по ип и домену
Pavel V.
pavel2000 at ngs.ru
Fri Dec 14 04:26:57 UTC 2012
Здравствуйте, UserQ.
Вы писали 14 декабря 2012 г., 3:02:09:
> В общем задача такого плана стоит подружить nginx and Apache. А именно
> необходимо заставить работать корректно IP и домены. Сейчас проблема состоит
> в том что когда подключается IP домены не хотят себя корректно вести, те они
> только доступны как указано в конфиге на ип.
1) Разделять конфиги подобным образом следует только тогда, если требуется выводить разные сайты на
запросы с указанием сконфигурированного домена и без указания. Вроде как ваш случай.
2) Не надо использовать listen без указания IP в конфиге Nginx и VirtualHost без указания IP в
конфиге Apache.
2.1) Я предпочитаю на апаче использовать 80 порт и адреса 127.0.0.0/8 сети. Каждому реальному IP
соответствует свой IP из 127.0.0.0/8.
2.2) Если используются хитровывернутые скрипты, которые будут пытаться из апача брать его IP/порт,
которые в моем случае получат "неожиданно" - IP 127.0.0.х а в вашем случае Port 81, то идеального
варианта можно добиться так: апачем слушать реальный IP порт 80, а nginx-ом реальный IP порт 81,
сделать перенаправление трафика к 80 порту на 81 через iptables -t nat -j DNAT
Общая суть пункта: Каждому отдельному набору IP+port Nginx требуется сопоставить отдельный IP+port Apache.
3) Не забывайте читать документацию: http://nginx.org/ru/docs/http/ngx_http_core_module.html#variables
$host - поле “Host” заголовка запроса, или имя сервера, соответствующего запросу, если этого поля нет.
$http_имя - произвольное поле заголовка запроса; последняя часть имени переменной соответствует
имени поля, приведённому к нижнему регистру, с заменой символов тире на символы подчёркивания
$http_host - доступная переменная.
4) Не копируйте чужие конфиги, в них есть директивы, которые могут сыграть с вами злые шутки.
--
С уважением,
Pavel mailto:pavel2000 at ngs.ru
Подробная информация о списке рассылки nginx-ru