nginx и httpd вместе выполняют обратный прокси-сервер

Работая системным администратором для нескольких отделов, и из-за ограниченных ресурсов я рассматриваю возможность развертывания nginx и httpd на одном сервере. (Из-за требований разработчика использование Docker невозможно)

На сервере установлен apache. Как установить nginx вместе с ним?

Кажется, это обсуждалось некоторое время назад, так ли это до сих пор?

и я делаю обратное,

$ cat /etc/nginx/sites-available/default
##

    server {
        listen 8000;

        server_name log-dashboard-03;

        auth_basic "Restricted Access";
        auth_basic_user_file /etc/nginx/htpasswd.users;

        location / {
            proxy_pass http://localhost:5601;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;        
        }
    }

Могу ли я запустить Apache и Nginx на одном сервере, на одном порту, но привязаны к разным IP-адресам? вариации все еще работают? (Никто не хочет переключаться на другую сторону, например, с httpd на nginx или наоборот, и только один полностью маршрутизируемый внутренний ip). Сначала есть nginx, но я хотел узнать мнение, прежде чем сбрасывать сюда еще один httpd-прокси. (Если вы задаетесь вопросом, почему прослушивать только 80 и 8000, WSA разрешает только определенные порты 80, 8000 и 5000. Кроме того, на данный момент приложения разработаны так, чтобы они были доступны только для локального хоста, а не удаленно)

httpd to-be:

$cat /etc/httpd/conf/httpd.conf
DocumentRoot /var/www/html

ProxyPass / http://localhost:8080/ nocanon

ProxyPassReverse / http://localhost:8080/
ProxyRequests Off

ProxyPreserveHost On

<Proxy http://localhost:8080/*>

Order deny,allow

Allow from all

</Proxy>
0
задан 13 April 2017 в 15:14
1 ответ

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

Если вы хотите запустить два домена на разных серверах на одном и том же порт вы можете заставить nginx прослушивать любой порт, который вы хотите, а затем proxy_pass все, что вам нужно, через Apache.

Как насчет того, чтобы вы рассказали нам, чего вы пытаетесь достичь, вместо того, чтобы рассказывать нам, как вы пытаетесь это сделать? Это даст вам лучший совет. Объясните это, как будто вы объясняете это умному ребенку, обновите свой исходный вопрос, а затем прокомментируйте, чтобы я получил уведомление. Если я смогу добавить больше, я обновлю свой ответ.

0
ответ дан 5 December 2019 в 10:42

Теги

Похожие вопросы