Прячем Apache от внешних запросов
Прячем Apache от внешних запросов
Недавно в теме Общие вопросы » 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 с содержимым:
В /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 - к обоим серверам никаких вопросов не появилось.
Для начала нужно убедиться какой интерфейс используется в качестве внутреннего. Исторически сложилось так, что в 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
Во всех /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 от внешних запросов
можно упростить
1) меняем в шаблонах
2) запускаем пересоздание шаблонов для всех пользователей и хостов
команда отсюда http://forum.vestacp.com/viewtopic.php? ... 1%8B#p7576
skid, может внести сразу в панель такие настройки? По крайней мере если выбирается нгинкс как фронтэнд к апачу
и еще - может в панель вынести кнопку на вызов команды для пересоздания шаблонов?
1) меняем в шаблонах
2) запускаем пересоздание шаблонов для всех пользователей и хостов
Code: Select all
for user in $(ls /usr/local/vesta/data/users/);do v-rebuild-user $user;done
skid, может внести сразу в панель такие настройки? По крайней мере если выбирается нгинкс как фронтэнд к апачу
и еще - может в панель вынести кнопку на вызов команды для пересоздания шаблонов?
Re: Прячем Apache от внешних запросов
поддерживаюEnkil wrote:можно упростить
1) меняем в шаблонах
2) запускаем пересоздание шаблонов для всех пользователей и хостовкоманда отсюда http://forum.vestacp.com/viewtopic.php? ... 1%8B#p7576Code: Select all
for user in $(ls /usr/local/vesta/data/users/);do v-rebuild-user $user;done
skid, может внести сразу в панель такие настройки? По крайней мере если выбирается нгинкс как фронтэнд к апачу
и еще - может в панель вынести кнопку на вызов команды для пересоздания шаблонов?
поднял ща управление хостингом под битрикс - какраз актуально
когда отработаю конфиги на производительность - выложу
Re: Прячем Apache от внешних запросов
По поводу необходимости таких настроек немного не уверен. Пока отложу этот вопрос до следующих релизов.
Enkil, конфиги можно пересоздать через выпадающее меню для массовых операций. Меню расположено слево от кнопки добавления новых объектов. Нужно перейти на страницу пользователей, выделить всех и выбрать пункт rebuild web.
Enkil, конфиги можно пересоздать через выпадающее меню для массовых операций. Меню расположено слево от кнопки добавления новых объектов. Нужно перейти на страницу пользователей, выделить всех и выбрать пункт rebuild web.
Re: Прячем Apache от внешних запросов
skid wrote:
Enkil, конфиги можно пересоздать через выпадающее меню для массовых операций. Меню расположено слево от кнопки добавления новых объектов. Нужно перейти на страницу пользователей, выделить всех и выбрать пункт rebuild web.
спасибо!
а так при выборе варианта с нгикс+апач, конечно хотелось бы апач скрыть
-
- Posts: 14
- Joined: Tue Sep 02, 2014 11:25 am
Re: Прячем Apache от внешних запросов
Зачем то вообще нужно?