Если NGINX как прокси сервер, то все равно все отдает Apache?

12
Dmitriy_2014
На сайте с 01.07.2014
Offline
276
525

Всем привет!

Если NGINX настроен как проксирующий прокси сервер, то ответ на запрос и готовую страницу все равно отдает Apache?

Заранее всем спасибо за ответы!


frealy121212
На сайте с 20.11.2013
Offline
102
#1

Это 2 веб сервера и работать они могут независимо друг от друга по отдельности.

Так что в случае nginx как прокси, он так же будет работать в зависимости от настроек nginx и будет уже решать, что отдавать apache или проксировать трафик дальше, а что самому обрабатывать, его для этого и ставят, для ускорения работы, что бы каждый по отдельности веб сервер занимался своим делом.

lealhost
На сайте с 07.06.2014
Offline
136
#2
Dmitriy_2014 :

Всем привет!

Если NGINX настроен как проксирующий прокси сервер, то ответ на запрос и готовую страницу все равно отдает Apache?

Заранее всем спасибо за ответы!


Обычно в связке Nginx+Apache настраивают так, что бы NGINX вытягивал только статические файлы, которые просто лежат на диске и не нуждаются в дополнительной обработке сервером Apache (клиентские скрипты js, изображения, архивы). И проксирует до Apache только те запросы, которые нуждаются в его обработке (php-скрипты, cgi).

Готовую страницу клиенту (браузеру) отдает всегда NGINX, если он стоит фронтэндом. Если был запрошен php-скрипт, то NGINX сначала обратиться к Apache, Apache отдаст результат NGINX'у, а NGINX передаст клиенту.

Если у вас возникают вопросы относительно поведения NGINX в вашем конфиге, то лучше просто выложить сюда конфиг.

Dmitriy_2014
На сайте с 01.07.2014
Offline
276
#3
Подскажите если кто знает, если допустим мне нужно сделать работу NGINX с установленным SSL сертификатом на порту 443, а на нем уже работает Apache тоже с сертификатом, то соответственно NGINX так уже не запустится, т.к. на одном порту вроде одновременно два сервера не работают, но мне нужно чтобы работал Apache т.к. нужна обработка файла .htaccess, или такая схема невозможна, нужно выбирать что-то одно?
lealhost
На сайте с 07.06.2014
Offline
136
#4

1. Не открывать порт 443 на Apache, сделать возможной работу только по HTTP-протоколу на внутреннем порту, закрытым извне.

2. В Nginx настроить TLS/SSL, указать сертификаты и проксировать до HTTP-порта Apache.

Если все происходит на одном сервере - это актуально, нет смысла шифровать подключение между NGINX и Apache в локальной сети.

Dmitriy_2014
На сайте с 01.07.2014
Offline
276
#5
lealhost #:

1. Не открывать порт 443 на Apache, сделать возможной работу только по HTTP-протоколу на внутреннем порту, закрытым извне.

2. В Nginx настроить TLS/SSL, указать сертификаты и проксировать до HTTP-порта Apache.

Если все происходит на одном сервере - это актуально, нет смысла шифровать подключение между NGINX и Apache в локальной сети.

Но мне все равно придется конвертировать правила из .htaccess(всякие редиректы и т.п.) в nginx.conf?
baas
На сайте с 17.09.2012
Offline
162
#6
Dmitriy_2014 #:
Но мне все равно придется конвертировать правила из .htaccess(всякие редиректы и т.п.) в nginx.conf?

Прослушиваемый порт на сервере может только на одном сервисе.

Если тебе нужно что бы nginx прослушивал порт 443, то настрой сам nginx под твои нужны, а apache повесь на 8080 порт к примеру.

Настройка BSD систем. (https://www.fryaha.ru) Знание сила, незнание Рабочая сила!
WebAlt
На сайте с 02.12.2007
Offline
251
#7
Dmitriy_2014 #:
Но мне все равно придется конвертировать правила из .htaccess(всякие редиректы и т.п.) в nginx.conf?

Не придётся, если nginx будет принимать запросы, раздавать статику, а скрипты перенаправлять на apache.

LEOnidUKG
На сайте с 25.11.2006
Offline
1724
#8

Да установите себе уже панель, хоть бесплатную VestaCP или уж лучше FastPanel и ничего не надо делать и задавать уж такие вопросы.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
Dmitriy_2014
На сайте с 01.07.2014
Offline
276
#9
WebAlt #:
Не придётся, если nginx будет принимать запросы, раздавать статику, а скрипты перенаправлять на apache.

Так тут то я и не понимаю, когда я допустим подключаю сертификаты и делаю поддержку SSL в NGINX:

server {

            listen 443 ssl;

               server_name xxx.ru;

                 ssl_certificate /etc/ssl/xxx.crt;
                 ssl_certificate_key /etc/ssl/xxx.key;
        }

Перезагружаю сервер NGINX и он пишет - что ошибка и не запускается ну т.к. как я понял занят 443 порт и на нем работает Apache.

Так если я уберу работу Apache то файлы .htaccess не будут работать, и нужно будет настраивать все что там в nginx.conf, так я это понимаю.
Dmitriy_2014
На сайте с 01.07.2014
Offline
276
#10
LEOnidUKG #:
Да установите себе уже панель, хоть бесплатную VestaCP или уж лучше FastPanel и ничего не надо делать и задавать уж такие вопросы.
Да есть у меня панель управления сервером, не хватает администратора и отдела IT :)
12

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