Решено: Apache на машинах подсети (несколько серверов.)

Knoppix

Модераторы: Warderer, Модераторы разделов

Shell
Сообщения: 231
ОС: Ubuntu

Решено: Apache на машинах подсети

Сообщение Shell »

Доброго дня.
Простыми словами. Есть несколько машин, которые имеют доступ к интернету через одну из этих машин, есть только
один белый IP адрес. Как мне заставить работать несколько серверов через один адрес?
Спасибо.
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: Решено: Apache на машинах подсети

Сообщение watashiwa_daredeska »

Ключевые слова: port forwarding. Развесить каждый внутренний апач на свой порт на внешнем ip-шнике.
Спасибо сказали:
Shell
Сообщения: 231
ОС: Ubuntu

Re: Решено: Apache на машинах подсети

Сообщение Shell »

Да это работает только для одного экземпляра сервера в сети.
У меня ситуация такая: на том компьютере, кто раздаёт интернет тоже установлен сервер. Если сделать проброс портов, то
какае-то фигня получается.

Может ли как-то апач нормально перенаправлять не через redirect?, так как адреса используются внутренней сети.

Спасибо.
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: Решено: Apache на машинах подсети

Сообщение watashiwa_daredeska »

Shell писал(а):
26.10.2010 19:27
Да это работает только для одного экземпляра сервера в сети.
Как это?
Допустим, есть внутренние server1, server2, server3, на которых на 80 порту крутится apache. Есть внешний server0. Пробрасываем server0:8080→server1:80, server0:8081→server2:80, server0:8082→server3:80. Готово.

Shell писал(а):
26.10.2010 19:27
Может ли как-то апач нормально перенаправлять не через redirect?
А обязательно нужно, чтобы apache перенаправлял?
Спасибо сказали:
Аватара пользователя
ieleja
Сообщения: 307
ОС: Debian 9, macOS, Windows

Re: Решено: Apache на машинах подсети

Сообщение ieleja »

а надо несколько доменов: www.abc.ru, www.def.ru, www.ghi.ru хостить на разних серверах или 'load balancing'?

если надо несколько доменов то может так?

на отдельном сервере запустить прокси сервер, на нем переправить 80 внешний порт
создать там соответсвенных VirtualHost

<VirtualHost *:80>
ProxyPreserveHost On

ServerName www.abc.ru

ProxyPass / http://serverfarm01.local.net/
ProxyPassReverse / http://serverfarm01.local.net/
</VirtualHost>
ad infinitum
Спасибо сказали:
Shell
Сообщения: 231
ОС: Ubuntu

Re: Решено: Apache на машинах подсети

Сообщение Shell »

Спасибо, то что надо....
debian:/etc/apache2/sites-enabled# vim rabbit.shell
<VirtualHost *:80>
servername host.pp.ua
serveralias www.host.pp.ua
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
RewriteEngine on
ProxyPass / http://ip/
ProxyPassReverse / http://ip/*
</VirtualHost>


ДА, ещё не забудьте активировать модуля апача proxy, proxy_http.
Спасибо сказали:
Shell
Сообщения: 231
ОС: Ubuntu

Re: Решено: Apache на машинах подсети

Сообщение Shell »

Если таким образом работает несколько хостов надо не забыть..., как было указано выше.

ProxyPreserveHost Directive
Description: Use incoming Host HTTP request header for proxy request
Syntax: ProxyPreserveHost On|Off
Default: ProxyPreserveHost Off
Context: server config, virtual host
Status: Extension
Module: mod_proxy
Compatibility: Available in Apache 2.0.31 and later.

When enabled, this option will pass the Host: line from the incoming request to the proxied host, instead of the hostname specified in the proxypass line.

This option should normally be turned Off. It is mostly useful in special configurations like proxied mass name-based virtual hosting, where the original Host header needs to be evaluated by the backend server.
Спасибо сказали: