Page 1 of 1

Прячем Apache от внешних запросов

Posted: Mon Dec 09, 2013 2:19 pm
by shaman
Недавно в теме Общие вопросы » Debian/Ubuntu » Support for Debian/Ubuntu я предложил спрятать Apache от внешнего мира, оставив ему возможность отвечать только на запросы Nginx. Предложенное "решение" оказалось только первым шагом к цели, поэтому считаю необходимым сказать об этом и привести полный алгоритм.

Для начала нужно убедиться какой интерфейс используется в качестве внутреннего. Исторически сложилось так, что в Debian VPS на OpenVZ для этого используется интерфейс venet0 с inet addr:127.0.0.2, возможно существуют и иные варианты о которых я не знаю. Поэтому перед тем как начинать действовать предлагаю заглянуть в вывод ifconfig.
В ходе описании буду употреблять 127.0.0.1, как более привычный.

Приступим.
В /etc/httpd/conf.d/ (или /etc/apache2/conf.d для Debian) удаляем файл IPсервера.conf или комментируем все его строки. Убеждаемся в наличии или создаём файл 127.0.0.1.conf с содержимым:

Code: Select all

NameVirtualHost 127.0.0.1:8080
Listen 127.0.0.1:8080
NameVirtualHost 127.0.0.1:8443
Listen 127.0.0.1:8443
В /etc/nginx/conf.d/IPсервера.conf, в строке 6 "proxy_pass http://IPсервера:8080;" меняем внешний IP на 127.0.0.1

Во всех /home/пользователь/conf/web/httpd.conf (или apache2.conf для Debian) во всех строках "<VirtualHost IPсервера:8080>" заменяем IP на 127.0.0.1

Там же в файлах nginx.conf находим все строки "proxy_pass http://IPсервера:8080;" и тоже заменяем IP на 127.0.0.1

Полдела сделано, можно перезапустить сервисы Apache и Nginx и проверить работу виртуальных хостов - всё должно работать.

Теперь делаем так, чтоб новые виртуальные хосты сразу создавались с нужными параметрами.
В /usr/local/vesta/data/templates/web/httpd/ (или apache2/ для Debian) в первой строке всех шаблонов (файлы .tpl и .stpl) меняем переменную %ip% на 127.0.0.1.
В /usr/local/vesta/data/templates/web/nginx/ в строках шаблонов "proxy_pass http://%ip%:%web_port%;" и "proxy_pass http://%ip%:%web_ssl_port%;" делаем аналогичную замену.

Создание новых хостов протестировал только на Debin, не думаю что на других системах будут проблемы.
У меня на данный момент такие конфигурации проработали двое суток на Debian и сутки на Сentos - к обоим серверам никаких вопросов не появилось.

Re: Прячем Apache от внешних запросов

Posted: Tue Dec 10, 2013 5:42 pm
by Enkil
можно упростить

1) меняем в шаблонах
2) запускаем пересоздание шаблонов для всех пользователей и хостов

Code: Select all

for user in $(ls /usr/local/vesta/data/users/);do v-rebuild-user $user;done
команда отсюда http://forum.vestacp.com/viewtopic.php? ... 1%8B#p7576

skid, может внести сразу в панель такие настройки? По крайней мере если выбирается нгинкс как фронтэнд к апачу

и еще - может в панель вынести кнопку на вызов команды для пересоздания шаблонов?

Re: Прячем Apache от внешних запросов

Posted: Tue Dec 10, 2013 7:29 pm
by miami
Enkil wrote:можно упростить

1) меняем в шаблонах
2) запускаем пересоздание шаблонов для всех пользователей и хостов

Code: Select all

for user in $(ls /usr/local/vesta/data/users/);do v-rebuild-user $user;done
команда отсюда http://forum.vestacp.com/viewtopic.php? ... 1%8B#p7576

skid, может внести сразу в панель такие настройки? По крайней мере если выбирается нгинкс как фронтэнд к апачу

и еще - может в панель вынести кнопку на вызов команды для пересоздания шаблонов?
поддерживаю
поднял ща управление хостингом под битрикс - какраз актуально
когда отработаю конфиги на производительность - выложу

Re: Прячем Apache от внешних запросов

Posted: Wed Dec 11, 2013 9:35 am
by skid
По поводу необходимости таких настроек немного не уверен. Пока отложу этот вопрос до следующих релизов.

Enkil, конфиги можно пересоздать через выпадающее меню для массовых операций. Меню расположено слево от кнопки добавления новых объектов. Нужно перейти на страницу пользователей, выделить всех и выбрать пункт rebuild web.

Re: Прячем Apache от внешних запросов

Posted: Wed Dec 11, 2013 8:58 pm
by Enkil
skid wrote:
Enkil, конфиги можно пересоздать через выпадающее меню для массовых операций. Меню расположено слево от кнопки добавления новых объектов. Нужно перейти на страницу пользователей, выделить всех и выбрать пункт rebuild web.

спасибо!

а так при выборе варианта с нгикс+апач, конечно хотелось бы апач скрыть

Re: Прячем Apache от внешних запросов

Posted: Sun Sep 14, 2014 11:06 am
by CubaVladimir
Зачем то вообще нужно?