Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Перенаправление средствами апача.  (Прочитано 3372 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн GriefNorth

  • Автор темы
  • Участник
  • *
  • Сообщений: 139
    • Просмотр профиля
    • gnorth.ru
Добрый день.
Помогите решить такую проблему. Стоит внутри сети сервер на ubuntu 10.04, на нем крутится почтовый сервер с веб-мордой на 80 порту с адресом вида mail.site.ru, стоит задача поставить еще и веб-сервер на эту же машину. Следовательно вопрос как сделать так чтобы шло перенаправление при запросе например mail.site.ru на допустим 81 порт, а запросы типа www.site.ru и site.ru именно на 80 порт. Поиск выдал какие-то сумбурные советы и статьи, в одних описывается что такое можно сделать с помощью виртуал-хостов, в других с помощью mod_proxy в апаче, в итоге завести не получилось. Заранее огромное спасибо.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 25936
    • Просмотр профиля
Re: Перенаправление средствами апача.
« Ответ #1 : 02 Август 2010, 20:16:46 »
Зачем так извращаться? Переносишь админку на любой другой порт, а в апаче настраиваешь mod_proxy
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн denverkurt

  • Новичок
  • *
  • Сообщений: 22
    • Просмотр профиля
Re: Перенаправление средствами апача.
« Ответ #2 : 02 Август 2010, 20:33:37 »
так не работает?
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^mail.site.ru$
RewriteRule ^(.*)$ http://mail.site.ru:81/$1

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 25936
    • Просмотр профиля
Re: Перенаправление средствами апача.
« Ответ #3 : 02 Август 2010, 21:23:33 »
так не работает?

К чему тут это вообще?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн GriefNorth

  • Автор темы
  • Участник
  • *
  • Сообщений: 139
    • Просмотр профиля
    • gnorth.ru
Re: Перенаправление средствами апача.
« Ответ #4 : 02 Август 2010, 21:26:09 »
Зачем так извращаться? Переносишь админку на любой другой порт, а в апаче настраиваешь mod_proxy
В тории все понятно :) Модуль загружен и подключен, а что дальше ?

Пользователь решил продолжить мысль 02 Август 2010, 21:26:41:
так не работает?
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^mail.site.ru$
RewriteRule ^(.*)$ http://mail.site.ru:81/$1
В какую секцию запихивать?

Оффлайн denverkurt

  • Новичок
  • *
  • Сообщений: 22
    • Просмотр профиля
Re: Перенаправление средствами апача.
« Ответ #5 : 02 Август 2010, 21:38:00 »
можно в .htaccess записать

Оффлайн baklan

  • Активист
  • *
  • Сообщений: 386
    • Просмотр профиля
    • backline
Re: Перенаправление средствами апача.
« Ответ #6 : 02 Август 2010, 21:41:17 »
а оставить все на 80 разве нельзя?

Оффлайн GriefNorth

  • Автор темы
  • Участник
  • *
  • Сообщений: 139
    • Просмотр профиля
    • gnorth.ru
Re: Перенаправление средствами апача.
« Ответ #7 : 02 Август 2010, 21:44:50 »
можно в .htaccess записать
я конечно извиняюсь, а пальцем ткнуть можно ? имею
/etc/apache2/sites-available/default
(Нажмите, чтобы показать/скрыть)
Здесь втыкать этот блок или куда ?

Пользователь решил продолжить мысль 02 Август 2010, 21:48:32:
а оставить все на 80 разве нельзя?
Неа нельзя... Ибо веб-мордой от почтовика не апач рулит.
« Последнее редактирование: 02 Август 2010, 21:48:32 от Sanaes »

Оффлайн denverkurt

  • Новичок
  • *
  • Сообщений: 22
    • Просмотр профиля
Re: Перенаправление средствами апача.
« Ответ #8 : 02 Август 2010, 22:19:49 »
я так понимаю в апаче сначала надо создать поддомен mail.site.ru иначе апач просто скажет что нету такого адреса

а затем внести запись в
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>

или положить в в папку поддомена mail.site.ru файл .htaccess и вписать в нем
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^mail.site.ru$
RewriteRule ^(.*)$ http://mail.site.ru:81/$1

Набросал образец:
<VirtualHost *:80>
ServerName mail.site.ru

ServerAlias mail.site.ru www.mail.site.ru
DocumentRoot /home/sanek/var/www/mail/
<Directory />
Options FollowSymLinks
AllowOverride None
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^mail.site.ru$
RewriteRule ^(.*)$ http://mail.site.ru:81/$1
</Directory>
</VirtualHost>
Если я не прав, подредактируйте мысль
« Последнее редактирование: 02 Август 2010, 22:29:40 от denverkurt »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 25936
    • Просмотр профиля
Re: Перенаправление средствами апача.
« Ответ #9 : 03 Август 2010, 05:35:11 »

я конечно извиняюсь, а пальцем ткнуть можно ? имею
/etc/apache2/sites-available/default

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

Для виртуалхоста, рулящего почтовым фронтэндом, читаешь http://httpd.apache.org/docs/current/mod/mod_proxy.html, Forward Proxies and Reverse Proxies/Gateways + Basic Example #2 (Reverse proxy).
« Последнее редактирование: 03 Август 2010, 11:03:30 от Agafonov »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн GriefNorth

  • Автор темы
  • Участник
  • *
  • Сообщений: 139
    • Просмотр профиля
    • gnorth.ru
Re: Перенаправление средствами апача.
« Ответ #10 : 04 Август 2010, 14:44:33 »

я конечно извиняюсь, а пальцем ткнуть можно ? имею
/etc/apache2/sites-available/default
Восстанавливай из дострибутива и больше не трогай - он тебе нужен только как шаблон для собственных сайтов.
Копируешь его столько раз, сколько сайтов будет на сервере крутиться (пока - два).
Доправляешь конфигурацию каждого до нужного тебе состояния, включаешь созданные сайты (a2ensite).
Для виртуалхоста, рулящего почтовым фронтэндом, читаешь http://httpd.apache.org/docs/current/mod/mod_proxy.html, Forward Proxies and Reverse Proxies/Gateways + Basic Example #2 (Reverse proxy).
Я его и не трогал. С mod_proxy и mod_ssl, что не получается или я не правильно делаю (что более вероятно :) ).
Создал два файла site и mail
Site: <VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /home/www/site
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/www/site/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
         
mail: <VirtualHost *:80>
ServerAdmin webmaster@localhost
ProxyRequests Off
        ProxyPreserveHost On
        ProxyPass   /  http://127.0.0.1:81/
       ProxyPassReverse  /  http://127.0.0.1:81/
        DocumentRoot /home/www/mail
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/www/mail/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>

<VirtualHost *:443>
ServerAdmin webmaster@localhost
ProxyRequests Off
        ProxyPreserveHost On
        ProxyPass   /  http://127.0.0.1:4430/
       ProxyPassReverse  /  http://127.0.0.1:4430/
</VirtualHost>
 

Где затыки ? Или что я не правильно делаю?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 25936
    • Просмотр профиля
Re: Перенаправление средствами апача.
« Ответ #11 : 04 Август 2010, 23:48:07 »
Я его и не трогал.

Да ну?
Цитировать
С mod_proxy и mod_ssl, что не получается или я не правильно делаю (что более вероятно :) ).

Второе более вероятно.
Для SSL делай DNAT, оно не поддерживает множественные вирты и не проксится.

Цитировать
Создал два файла site и mail
Site: <VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /home/www/site
ServerName yourdomain.com
ServerAlias www.yourdomain.com
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/www/site/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
         
mail: <VirtualHost *:80>
ServerAdmin webmaster@localhost
ProxyRequests Off
ServerName mail.yourdomain.com
ProxyPreserveHost On
ProxyPass   /  http://127.0.0.1:81/
ProxyPassReverse  /  http://127.0.0.1:81/
DocumentRoot /home/www/mail
<Location />
Options FollowSymLinks
AllowOverride None
</Location>
</VirtualHost>
 

Где затыки ? Или что я не правильно делаю?

ServerName забыл, и у прозрачного хоста не может быть Directory
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн GriefNorth

  • Автор темы
  • Участник
  • *
  • Сообщений: 139
    • Просмотр профиля
    • gnorth.ru
Re: Перенаправление средствами апача.
« Ответ #12 : 05 Август 2010, 08:02:19 »
То есть с мелкими исправлениями и поднятием DNAT должно все получиться ?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 25936
    • Просмотр профиля
Re: Перенаправление средствами апача.
« Ответ #13 : 05 Август 2010, 11:50:53 »
Угу.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн GriefNorth

  • Автор темы
  • Участник
  • *
  • Сообщений: 139
    • Просмотр профиля
    • gnorth.ru
Re: Перенаправление средствами апача.
« Ответ #14 : 13 Февраль 2012, 21:52:48 »
Прошло почти два года, стукнуло в голову постаивть nginx фронтендом, через него и сделал. Если кому интересно, стукните скину конфиги нджинкса.

 

Страница сгенерирована за 0.07 секунд. Запросов: 24.