Страница 1 из 2

Перенаправление на другой web-сервер

Добавлено: 18 июн 2013, 21:21
OxyMax
Имеются в наличии:
- Open Server 4.8.6 + Win XP поднятый на Hyper-V
- Роутер на Kerio Control, который пробрасывет 80 порт на Open Server
- Белый IP и зарегеные на него два домена (домен1.рф и domen2.ru)
- Open Server работает в связке Apache 2.4.4 + PHP 5.4.16 (кстати энжин + апач не захотел запускаться из-за русскоязычного домена)
- домен1.рф крутится на джумле и вещает в инет
- в локальной сети работает еще один web-сервер c IIS (локальный адрес: 192.168.1.xxx)

Вопрос, как грамотно сделать перенаправление из Open Server на IIS-сервер для всего домена domen2.ru - причем как локалки, так из интернета?
Что-то типа такого:
<VirtualHost *:80>
    ServerName domen2.ru
    ProxyRequests Off
    ProxyPass / http://192.168.1.xxx/
    ProxyPassReverse / http://192.168.1.xxx/
</VirtualHost>
P.S. Помоги-те

Добавлено: 18 июн 2013, 22:27
Максим
OxyMax писал(а):кстати энжин + апач не захотел запускаться из-за русскоязычного домена
Если вы его так и прописывали (домен1.рф) то конечно. Использовать нужно реальное имя домена, а не это. Если вы настраивали OS на работу на всех IP, то апач+джинкс не стартовали именно по этому, сейчас там в конфиге серьезные ошибки и всё будет исправлено только в след. версии OS.
OxyMax писал(а):Вопрос, как грамотно сделать перенаправление из Open Server на IIS-сервер для всего домена domen2.ru - причем как локалки, так из интернета?P.S. Помоги-те
Поскольку всё висит на одном IP то все запросы попадают в Open Server, а тут сами понимаете только один возможный путь - создать такой домен в OS и настроить через конфиг именно для этого домена проксирование запросов на другой локальный IP адрес (на ваш IIS).

Добавлено: 19 июн 2013, 20:54
OxyMax
Максим писал(а):настроить через конфиг именно для этого домена проксирование запросов на другой локальный IP адрес (на ваш IIS)
С этого места пожалуйста подробнее? Куда конкретно и что нужно для этого прописать?

Добавлено: 19 июн 2013, 22:12
Максим
Допустим вы используете модуль Apache-2.2.24, тогда вы берёте и копируете файл /userdata/config/Apache-2.2.24_vhost.conf в папку с тем доменом, который будет выполнять роль прокси. Потом открываете этот скопированный файл и настраиваете в нём проксирование согласно документации к Apache. Ну потом запускаете Open Server и всё, можно пить кофе и наслаждаться.

Добавлено: 20 июн 2013, 10:27
OxyMax
Что я делаю не так?
- Создал домен domen2.ru в Open Server
- OS работает на апаче 2.4.4 поэтому скопировал файл Apache-2.4.4_vhost.conf в каталог /domains/domen2.ru
- Открыл файл Apache-2.4.4_vhost.conf и меняю его содержимое на такое:
#---------------------------------------------#
# Внимание!                                   #
# При редактировании конфигурации хоста       #
# нельзя удалять или заменять системные       #
# переменные %...%, вы можете вносить только  #
# новые записи дополняющие конфигурацию.      #
#---------------------------------------------#

#---------------------------------------------#
# Начало блока конфигурации HTTP хоста        #
#---------------------------------------------#
<VirtualHost %ip%:%httpport%>
  DocumentRoot "%hostdir%"
  ServerName "%host%"
  ServerAlias "%host%" %aliases%
  <IfModule alias_module>
    ScriptAlias /cgi-bin/ "%hostdir%/cgi-bin/"
  </IfModule>
  <Location /openserver/server-status>
    SetHandler server-status
  </Location>
</VirtualHost>

<VirtualHost *:80>
    ServerName domen2.ru
    ProxyRequests Off
    ProxyPass / http://192.168.1.100/
    ProxyPassReverse / http://192.168.1.100/
</VirtualHost>
#---------------------------------------------#
# Конец блока конфигурации HTTP хоста         #
#---------------------------------------------#

#---------------------------------------------#
# Начало блока конфигурации HTTPS хоста       #
#---------------------------------------------#
<VirtualHost %ip%:%httpsport%>
  SSLEngine on
  BrowserMatch ".*MSIE.*" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0 
  DocumentRoot "%hostdir%"
  ServerName "%host%"
  ServerAlias "%host%" %aliases%
  <IfModule alias_module>
    ScriptAlias /cgi-bin/ "%hostdir%/cgi-bin/"
  </IfModule>
  <Location /openserver/server-status>
    SetHandler server-status
  </Location>
</VirtualHost>
#---------------------------------------------#
# Конец блока конфигурации HTTPS хоста        #
#---------------------------------------------#
- Перезагружаю OS
- OS выдает сообщение о том, что сервер выключен. В логаг апача пусто. В логах OS -
2013-06-20 09:48:24  Не удалось запустить Apache-2.4.4
2013-06-20 09:48:24  Сбой запуска!
Что я делаю не так?

Добавлено: 20 июн 2013, 10:41
Максим
OxyMax писал(а):и меняю его содержимое на такое:
Ох тыж божеж мой... :? Вы хоть понимаете что это за файл, какой он работает и что потом получается на выходе? Вы зачем туда вписали дублирующий виртуалхост который даже нифига не по шаблону. Редактируйте шаблон, а не вписывайте свои виртуалхосты! Держите готовое:
#---------------------------------------------#
# Начало блока конфигурации HTTP хоста        #
#---------------------------------------------#
<VirtualHost %ip%:%httpport%>
  DocumentRoot "%hostdir%"
  ServerName "%host%"
  ServerAlias "%host%" %aliases%
  <IfModule alias_module>
    ScriptAlias /cgi-bin/ "%hostdir%/cgi-bin/"
  </IfModule>
  <Location /openserver/server-status>
    SetHandler server-status
  </Location>
    ProxyRequests Off
    ProxyPass / http://192.168.1.100/
    ProxyPassReverse / http://192.168.1.100/
</VirtualHost>

#---------------------------------------------#
# Конец блока конфигурации HTTP хоста         #
#---------------------------------------------#
Вот так вам нужно вписывать свои строки, а как там и что правильно (я про настройку прокси) - это уже ваша забота, смотрите в документации к Апачу.

P.S. Потом поделитесь результатом, хотелось бы знать что у вас всё получилось ;)

Добавлено: 20 июн 2013, 22:26
OxyMax
Не получается... Как включить нормальную запись логов апача? или они (логи) сохраняются - тогда куда?

Добавлено: 20 июн 2013, 23:52
Максим
Все логи можно посмотреть через Меню - Просмотр логов.

Добавлено спустя 1 час 22 минуты 13 секунд:
Да и еще, убедитесь что помимо домена domen2.ru есть еще любой другой домен, но выше по списку в Меню доменов. Сервер для запуска использует первый домен из списка и если он у вас перенаправляется, то сервер скорее всего не запустится. Так создайте домен к примеру adomen.ru и пробуйте.

Добавлено: 26 июн 2013, 21:21
OxyMax
Спасибо большое все получилось. Все дело было в том, что домен, который нужно было проксировать был первым в списке.

Вот что у меня прописано в Apache-2.4.4_vhost.conf для этого домена
#---------------------------------------------#
# Начало блока конфигурации HTTP хоста        #
#---------------------------------------------#
<VirtualHost *:80>
    ServerName domen2.ru
    ProxyRequests Off
    ProxyPass / http://192.168.1.100/
    ProxyPassReverse / http://192.168.1.100/
</VirtualHost>
#---------------------------------------------#
# Конец блока конфигурации HTTP хоста         #
#---------------------------------------------#
Кроме этого в Apache-2.4.4_server.conf включил модуль mod_proxy.so

Добавлено: 27 июн 2013, 08:22
Максим
Не за что. Рад, что у вас всё получилось ;)