Я так запутался, поэтому мне нужна помощь экспертов по обратному прокси, пожалуйста.
Сервер 1 на общедоступном IP-адресе - 173.xxx.xxx.xxx порт 80 (IP-адрес LAN - 10.1.10.2).
Сервер 1 также имеет локальный активатор DNS, так что локальные пользователи могут просматривать все наши 4 зарегистрированных домена в нашей локальной сети.
Сервер 2 находится в локальной сети с локальным IP-адресом 10.1.10.2
Первый вопрос:
Куда будет идти мой оператор proxyPass ниже, если я хочу, чтобы мой Сервер 2 был доступен из Интернета? Пойдет на Сервер 1 или Сервер 2. Или мне нужно иметь одно и то же выражение для Сервера 1 и Сервера 2? Я тоже пробовал надеть это, но не могу заставить его работать. Это вроде как работает один раз, но пользователи видят только domain1.com все время, независимо от того, какой домен они используют в своем браузере.
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://WhichIPand:Port/
ProxyPassReverse / http://WhichIPand:Port/
Вопрос 2: httpd-vhosts.conf Могу ли я продолжать использовать виртуальные хосты как на Сервере 1, так и на Сервере 2? В настоящее время я использую виртуальный хост на сервере 1 с 4 зарегистрированными доменами. Я хочу переместить 2 домена с Сервера 1 на Сервер 2, чтобы,
Server 1 will have: domain1.com, domain2.com
Server 2 will have: domain3.com, domain4.com
Вопрос 3: Как бы мой файл хоста выглядел как для Сервера 1, так и для Сервера 2, каждый из которых имеет 2 квалифицированных домена. Будет ли это так или все IP IP локальных LAN на каждом Сервере.
127.0.01 domain1.com
127.0.01 domain2.com
127.0.01 domain3.com
127.0.01 domain4.com
Я знаю, что это может показаться слишком большим, но это действительно поможет многим людям, кроме меня. Но я, я так потерялся прямо сейчас, и кто-то с большим умом и навыками обучения должен быть в состоянии помочь,
Спасибо всем и счастливого Рождества.
добавил это в ответ Шейну и Аарону:
Это то, что я получил до сих пор, и это никуда меня не приведет. может быть, ты сможешь помочь и очень тебе спасибо за твои ответы ...
Мой сервер 1 на общедоступном IP-адресе 173.1xx.1xx.xxx порт 80 (IP-адрес LAN - 10.1.10.2) Настройка OSX Lion на виртуальном хосте: httpd-vhost.conf
При такой настройке я получаю:
Служба временно недоступна. Сервер временно не может обработать ваш запрос из-за простоя в обслуживании или проблем с производительностью. Пожалуйста, попробуйте позже.
NameVirtualHost *
<VirtualHost *:80>
ServerName domain1.com
ServerAlias www.domain1.com
ServerAdmin admin@domain1.com
DocumentRoot "/Library/WebServer/joomla"
ErrorLog /Library/WebServer/joomla/error_domain1.log
<Directory "/Library/WebServer/joomla">
Options Indexes FollowSymLinks MultiViews
AllowOverride All AuthConfig
Order allow,deny
Allow from all
</Directory>
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://10.1.10.2:8080/
ProxyPassReverse / http://10.1.10.2:8080/
</VirtualHost>
<VirtualHost *:80>
ServerName domain2.com
ServerAlias www.domain2.com
ServerAdmin admin@domain2.com
DocumentRoot "/Library/WebServer/webb"
ErrorLog /Library/WebServer/webb/error_domain2.log
<Directory "/Library/WebServer/webb">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://10.1.10.2:8080/
ProxyPassReverse / http://10.1.10.2:8080/
</VirtualHost>
My Server 2 on LAN IP: 10.1.10.2, OSX Snow setup on virtual host: httpd-vhost.conf
<VirtualHost *:80>
ServerName domain3.com
ServerAlias www.domain3.com
ServerAdmin admin@domain3.com
DocumentRoot "/Library/WebServer/domain3"
ErrorLog /Library/WebServer/domain3/error_cj.log
<Directory "/Library/WebServer/domain3">
Options Indexes FollowSymLinks MultiViews
AllowOverride All AuthConfig
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName domain4.org
ServerAlias www.domain4.org
ServerAdmin admin@domain4.org
DocumentRoot "/Library/WebServer/domain4"
ErrorLog /Library/WebServer/domain4/error_fn.log
<Directory "/Library/WebServer/domain4">
Options Indexes FollowSymLinks MultiViews
AllowOverride All AuthConfig
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Конфигурация ProxyPass будет частью конфигурации Сервера 1. Это хост, действующий как прокси для Сервера 2. Вам не нужно вносить какие-либо изменения в Сервер 2.
Вы сможете продолжать использовать vhosts. Я был разочарован и просто настроил прокси с <location>
заявления. Это хорошо работает для того, что мне нужно.
Я думаю, вы просто усложняете ситуацию с файлами локальных хостов. Прокси-сервер 2 по IP вместо? Файл локальных хостов не является DNS, поэтому он не изменит способ доступа других хостов к этим системам. Но если вы проксируете Сервер 2 по полному доменному имени, Сервер 1 не сможет найти его на локальном хосте. Это должен быть IP-адрес внутренней локальной сети.
Похоже, вы хотите сделать следующее:
domain1.com
, для которого он обслуживает контентdomain2.com
, для которого служит контентdomain3.com
, который он передает серверу 2domain4.com
, который он передает серверу 2domain3.com
, для которого он обслуживает контентdomain4.com
, для которого он обслуживает контентЕсли это так, то ваша конфигурация Сервера 2 выглядит хорошо, а Сервер 1 должен выглядеть примерно так:
ProxyRequests Off
ProxyPreserveHost On
NameVirtualHost *
<VirtualHost *:80>
ServerName domain1.com
ServerAlias www.domain1.com
ServerAdmin admin@domain1.com
DocumentRoot "/Library/WebServer/joomla"
ErrorLog /Library/WebServer/joomla/error_domain1.log
<Directory "/Library/WebServer/joomla">
Options Indexes FollowSymLinks MultiViews
AllowOverride All AuthConfig
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName domain2.com
ServerAlias www.domain2.com
ServerAdmin admin@domain2.com
DocumentRoot "/Library/WebServer/webb"
ErrorLog /Library/WebServer/webb/error_domain2.log
<Directory "/Library/WebServer/webb">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName domain3.com
ServerAlias www.domain3.com
ServerAdmin admin@domain3.com
ProxyPass / http://10.1.10.2:80/
ProxyPassReverse / http://10.1.10.2:80/
</VirtualHost>
<VirtualHost *:80>
ServerName domain4.com
ServerAlias www.domain4.com
ServerAdmin admin@domain4.com
ProxyPass / http://10.1.10.2:80/
ProxyPassReverse / http://10.1.10.2:80/
</VirtualHost>
И да, как предложил Аарон, очистите файлы хостов - они просто сбивают с толку.