Непонятные особенности связки Nginx и Apache2
-
- Posts: 3
- Joined: Thu Nov 10, 2016 4:38 am
Непонятные особенности связки Nginx и Apache2
Здравствуйте, уважаемые разработчики. Прошу объяснить такой момент, ибо то, что вижу в данный момент в настройках, не налазит на голову.
Момент первый: зачем nginx и apache в конфигах связаны через внешний ip сервера, а не через localhost, или ещё лучше - не через отдельный сокет? В этом случае, при отключённом или неправильно настроенном файерволе сервер становится уязвим на порту 8080 (который слушает apache) на внешнем ip, отличная цель для ддоса. Сам бы не узнал, если бы меня не начали долбить запросами на этот порт на внешнем айпишнике.
Момент второй: при подключении SSL шифрование включается в конфиге nginx хоста/сайта, подключается сертификат, и т.д., запросы перенаправляются на apache на порту 8443. НО - на внешний ip, на котором висит и слушает индеец. Т.е. шифрование включается между клиентом (браузером) и сервером (nginx). ПРИ ЭТОМ, в конфиге хоста на apache тоже зачем-то включается шифрование (подключается SSL-сертификат и пр.), и получается - nginx и apache шифруют трафик между собой - ВНУТРИ СЕРВЕРА? и обмениваются им через всё тот-же внешний ip сервера, вместо локалхоста или отдельного сокета, который в случае отключённого файервола - становится открытым для долбёжки пакетами?
Но это же получается - лишняя нагрузка и дыра в безопасности? Прошу объяснить, почему так, ибо в моей голове это объяснению не поддаётся. Заранее благодарен за развёрнутый ответ!
Момент первый: зачем nginx и apache в конфигах связаны через внешний ip сервера, а не через localhost, или ещё лучше - не через отдельный сокет? В этом случае, при отключённом или неправильно настроенном файерволе сервер становится уязвим на порту 8080 (который слушает apache) на внешнем ip, отличная цель для ддоса. Сам бы не узнал, если бы меня не начали долбить запросами на этот порт на внешнем айпишнике.
Момент второй: при подключении SSL шифрование включается в конфиге nginx хоста/сайта, подключается сертификат, и т.д., запросы перенаправляются на apache на порту 8443. НО - на внешний ip, на котором висит и слушает индеец. Т.е. шифрование включается между клиентом (браузером) и сервером (nginx). ПРИ ЭТОМ, в конфиге хоста на apache тоже зачем-то включается шифрование (подключается SSL-сертификат и пр.), и получается - nginx и apache шифруют трафик между собой - ВНУТРИ СЕРВЕРА? и обмениваются им через всё тот-же внешний ip сервера, вместо локалхоста или отдельного сокета, который в случае отключённого файервола - становится открытым для долбёжки пакетами?
Но это же получается - лишняя нагрузка и дыра в безопасности? Прошу объяснить, почему так, ибо в моей голове это объяснению не поддаётся. Заранее благодарен за развёрнутый ответ!
Re: Непонятные особенности связки Nginx и Apache2
Момент первый:
это связано с поведением апача при запросе несуществующего хоста. У каждого ip свой дефолтный домен. Раньше это было важно, а теперь под это завязаны и внутренние функции. Поменять не просто, но можно запланировать пересмотр - но это скорее дело будущего, быстро переползти не получится. На счет безопасности не очень понятно. Снаружи 8080 закрыт фаерволом при наличии оного или необходимости.
Момент второй:
Да все верно, избыточная нагрузка... У меня на некоторых серваках есть шаблоны, где nginx https смотрит на apache http. Шаблон по умолчанию для таких платформ как друпал, которые смотрят на переменную окружения сервера для определения https. Wordpress тоже на это смотрит и может случиться бесконечный редирект. Решается добавлением в конфиг SetEnv HTTPS "on". Опять же есть одна и та же функция создания шаблонов которая должна работать в связке nginx+apache и просто apache, поэтому потребуется еще одна директория для оптимизированных шаблонов. Ну и на самом деле это все экономия на спичках, выигрыш копеечный получается.
PS: Спасибо skid за толковые пояснения :)
это связано с поведением апача при запросе несуществующего хоста. У каждого ip свой дефолтный домен. Раньше это было важно, а теперь под это завязаны и внутренние функции. Поменять не просто, но можно запланировать пересмотр - но это скорее дело будущего, быстро переползти не получится. На счет безопасности не очень понятно. Снаружи 8080 закрыт фаерволом при наличии оного или необходимости.
Момент второй:
Да все верно, избыточная нагрузка... У меня на некоторых серваках есть шаблоны, где nginx https смотрит на apache http. Шаблон по умолчанию для таких платформ как друпал, которые смотрят на переменную окружения сервера для определения https. Wordpress тоже на это смотрит и может случиться бесконечный редирект. Решается добавлением в конфиг SetEnv HTTPS "on". Опять же есть одна и та же функция создания шаблонов которая должна работать в связке nginx+apache и просто apache, поэтому потребуется еще одна директория для оптимизированных шаблонов. Ну и на самом деле это все экономия на спичках, выигрыш копеечный получается.
PS: Спасибо skid за толковые пояснения :)