Доброго дня.
Простыми словами. Есть несколько машин, которые имеют доступ к интернету через одну из этих машин, есть только
один белый IP адрес. Как мне заставить работать несколько серверов через один адрес?
Спасибо.
Решено: Apache на машинах подсети (несколько серверов.)
Модераторы: Warderer, Модераторы разделов
-
watashiwa_daredeska
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
Re: Решено: Apache на машинах подсети
Ключевые слова: port forwarding. Развесить каждый внутренний апач на свой порт на внешнем ip-шнике.
Мои розовые очки
-
Shell
- Сообщения: 231
- ОС: Ubuntu
Re: Решено: Apache на машинах подсети
Да это работает только для одного экземпляра сервера в сети.
У меня ситуация такая: на том компьютере, кто раздаёт интернет тоже установлен сервер. Если сделать проброс портов, то
какае-то фигня получается.
Может ли как-то апач нормально перенаправлять не через redirect?, так как адреса используются внутренней сети.
Спасибо.
У меня ситуация такая: на том компьютере, кто раздаёт интернет тоже установлен сервер. Если сделать проброс портов, то
какае-то фигня получается.
Может ли как-то апач нормально перенаправлять не через redirect?, так как адреса используются внутренней сети.
Спасибо.
-
watashiwa_daredeska
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
Re: Решено: Apache на машинах подсети
Как это?
Допустим, есть внутренние server1, server2, server3, на которых на 80 порту крутится apache. Есть внешний server0. Пробрасываем server0:8080→server1:80, server0:8081→server2:80, server0:8082→server3:80. Готово.
А обязательно нужно, чтобы apache перенаправлял?
Мои розовые очки
-
ieleja
- Сообщения: 307
- ОС: Debian 9, macOS, Windows
Re: Решено: Apache на машинах подсети
а надо несколько доменов: 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>
если надо несколько доменов то может так?
на отдельном сервере запустить прокси сервер, на нем переправить 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 на машинах подсети
Спасибо, то что надо....
ДА, ещё не забудьте активировать модуля апача proxy, proxy_http.
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 на машинах подсети
Если таким образом работает несколько хостов надо не забыть..., как было указано выше.
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.
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.