Я googledd, и я не мог найти ничего, что было бы директивой по настройке apache для proxypass.
Мне удалось найти Перенести домен на новый веб-хостинг, не дожидаясь распространения DNS но я не понимаю, о чем они говорят, особенно следующее:
1) как включить прокси, proxy_http и модули перезаписи
2) где найти конфигурационный файл apache и эту строчку?
RewriteEngine on
ProxyPassReverse / http://<your-fqdn-here>/
ProxyPass / http://<your-fqdn-here>/
Я имею в виду, можете ли вы помочь мне настроить ProxyPass?
Обновить
Я работаю на версии CentOS Apache:
Server version: Apache/2.2.22 (Unix)
Server built: Feb 10 2012 16:45:29
Cpanel::Easy::Apache v3.9.1 rev9999
Я попытался установить прокси-модули, следуя этому руководству http://www.hackersgarage.com/install-mod_proxy-apache-module-on-whmcpanel-ceentos-linux-server.html
Но у меня такая ошибка:
./configure --enable-mods-shared="proxy proxy_http proxy_connect"
-bash: ./configure: /bin/sh: bad interpreter: Permission denied
Так что я просто проигнорировал это и продолжил выполнение остальных команд. Когда я попытался перезапустить apache:
root@db [/tmp/httpd-2.2.22]# /etc/init.d/httpd restart
httpd: Syntax error on line 36 of /usr/local/apache/conf/httpd.conf: module proxy_module is built-in and can't be loaded
Просто добавил это в httpd.conf, и он сработал
< VirtualHost *:80 > ServerName domain.com ServerAlias www.domain.com
<IfModule mod_proxy.c> ProxyPass / http://www.newdomain.com/ ProxyPassReverse / http://www.newdomain.com/ </ IfModule> </ VirtualHost>
Я постараюсь ответить на ваши вопросы как можно лучше, используя предоставленную вами информацию.
Во-первых, что касается модулей включения, это будет зависеть от распределения. Например, в RHEL / CentOS модули перезаписи и прокси включены в базовый пакет httpd, вам больше ничего делать не нужно.
В Debian, напротив, вам необходимо создать символическую ссылку на файл конфигурации из доступных модов в файлы с включенными модами. Есть инструмент под названием a2enmod
чтобы помочь в этом, например:
a2enmod proxy
a2enmod rewrite
Вы должны посмотреть, какие модули можно включить, просмотрев файлы конфигурации в /etc/apache2/mods-available/
, если вы используете Debian. Я считаю, что Ubuntu Server точно такой же.
Что касается пункта 2, вы можете поместить конфигурацию прокси в <VirtualHost>
декларацию, которую вы хотите передать через прокси. Это, опять же, может варьироваться в зависимости от распределения или предпочтений. Большинство систем RHEL / CentOS поощряют использование специфичных для сайта my-website.com.conf
файл в /etc/httpd/conf.d/
. Пользователи Debian должны поместить файл в /etc/apache2/sites-enabled/
(или в sites-available
и создайте символическую ссылку с помощью a2ensite
). Полное руководство по этим вспомогательным инструментам можно найти Вот.
Взгляните на это:
Это для CentOS5, но CentOS6 будет иметь аналогичную конфигурацию, поскольку Apache существенно не изменился.
По сути, вам не следует пытаться скомпилировать mod_proxy. HTTPd-сервер CentOS уже имеет это в виде встроенного модуля. Вам просто нужно активировать директивы прокси, используя приведенный выше документ. Итак, вы должны отменить все изменения, которые вы внесли при компиляции модуля.