Как настроить обратный прокси-сервер с Apache2 для Windows
Я получил и запустил обратный прокси на apache2 под Linux (Ubuntu). Теперь я вижу, что под Windows есть другая структура папок. Мои linux-conf - файлы не работают под windows или я не прав?
Пожалуйста, покажи мне путь
3 ответа
Как сказал Джон, конфигурация по умолчанию для Apache, установленного в Windows, имеет вид Program Files\Apache2.2\httpd.conf в плоском файле. Путь может быть несколько другим, так как в данный момент у меня нет машины с Windows. Большинство дистрибутивов Linux имеют свою собственную иерархическую структуру, которая выглядит примерно так: Этот пример взят из Debian и может отличаться от других дистрибутивов.
/etc/apache2/apache2.confПакет при условии конфигурацииconf.d/- Отдельные файлы конфигурации, обычно из других пакетов, но также могут быть локальными файлами конфигурации
httpd.confЛокальный файл конфигурации. Переопределяет содержимое apache2.confmods-available/- Отдельные файлы конфигурации модуля, предоставляемые пакетом и любыми пакетами поддержки
mods-enabled/- Ссылки на файлы в
mods-available, Ссылки создаются / удаляются сa2enmodа такжеa2dismod, Создание ссылки включает данный модуль.
- Ссылки на файлы в
ports.confВключенные портыsites-available/- Индивидуальный
VirtualHostконфигурационные файлы
- Индивидуальный
sites-enabled- Ссылки на файлы в
sites-available, Ссылки создаются / удаляются сa2ensiteа такжеa2dissite, Создание ссылки разрешает данный сайт.
- Ссылки на файлы в
Я описал все это, чтобы, надеюсь, было легче понять, как копировать его под Windows. За исключением того, что ссылки плохо поддерживаются в Windows (изменилось ли это в Vista/Server 2008/Windows 7?), Эту структуру относительно легко настроить. Но вам придется сделать это вручную, так как конфигурация по умолчанию не делает это за вас. Убедитесь, что вы настроили следующее, чтобы соответствовать дистрибутиву Linux, из которого вы мигрируете.
Предполагая, что оригинальный файл конфигурации в Windows находится в
\Program Files\Apache2.2\httpd.conf(опять же, это может быть не правильное расположение, мне нужно проверить машину Windows, чтобы убедиться), создайте следующие каталоги:\Program Files\Apache2.2\conf.d\\Program Files\Apache2.2\sites-enabled\
Вам не нужно
sites-availableкаталоги, так как ссылки не поддерживаются в Windows. Вы можете добавить их, если хотите, но все не будет работать так же. Также я бы порекомендовал поместить конфигурации модулей в файл httpd.conf. Поскольку они не управляются менеджером пакетов, будет проще хранить их в одном месте.Внесите любые изменения в Linux
httpd.confфайл в файл Windows. Если у вас естьapache2.confфайл под Linux, это легко, так какhttpd.confбудет иметь переопределения только дляapache2.conf,Добавить
ports.confфайл, если хотите. Содержимое этого также может существовать в файле httpd.conf.Скопируйте файлы, которые существуют в Linux
conf.dкаталог в каталог Windows. Убедитесь, что имена файлов заканчиваются.confдобавив его, если его там не было раньше. Это сделано для того, чтобы сделать синтаксический анализ каталога (настроенный ниже) менее подверженным ошибкам.Скопируйте файлы, которые существуют в Linux
sites-enabledкаталог в каталог Windows. Как и в шаге 4, убедитесь, что имена файлов заканчиваются на.confдобавив его, если он не существует в Linux.Добавьте следующее в конец файла httpd.conf:
# If you added a ports.conf file, add the following Include ports.conf # Include the conf.d files Include conf.d/*.conf # Include the enabled sites Include sites-enabled/*.confПерезапустите Apache. Убедитесь, что вы проверяете и исправляете любые ошибки конфигурации.
Это может не привести вас туда на 100%, но это должно приблизить вас.
Есть ли причина, по которой вы не можете создать ту же структуру папок в Windows, что и в Linux? Вы не можете ожидать, что просто установите Apache и волшебным образом создадите дерево папок, которые не являются частью его конфигурации по умолчанию. Создайте ту же структуру, скопируйте конфиги и отредактируйте как и где это необходимо.
Теперь я нашел решение со следующим:
NameVirtualHost *:80
<VirtualHost *:80>
ProxyPreserveHost On
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
# der Adresse http://>servername</crm wird hier wie folgt umgeleitet
ProxyPass /crm http://localhost:8080/crm
ProxyPassReverse /crm http://localhost:8080/crm
# der Adresse http://>servername</trac wird hier wie folgt umgeleitet
ProxyPass /trac http://localhost:8000/trac
ProxyPassReverse /trac http://localhost:8000/trac
</VirtualHost>
и это идет в C:\Program Files\Apache Software Foundation\Apache2.2\conf\extra\httpd-vhosts.conf
Это очень просто, если вы знаете, куда поместить параметры, потому что стандартная структура папок после стандартной установки отличается для apache2.2 в ubuntu 8.04 и windows2008.
мир
лед