Как настроить обратный прокси-сервер с 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.conf
    • mods-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, из которого вы мигрируете.

  1. Предполагая, что оригинальный файл конфигурации в 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. Поскольку они не управляются менеджером пакетов, будет проще хранить их в одном месте.

  2. Внесите любые изменения в Linux httpd.conf файл в файл Windows. Если у вас есть apache2.conf файл под Linux, это легко, так как httpd.conf будет иметь переопределения только для apache2.conf,

  3. Добавить ports.conf файл, если хотите. Содержимое этого также может существовать в файле httpd.conf.

  4. Скопируйте файлы, которые существуют в Linux conf.d каталог в каталог Windows. Убедитесь, что имена файлов заканчиваются .conf добавив его, если его там не было раньше. Это сделано для того, чтобы сделать синтаксический анализ каталога (настроенный ниже) менее подверженным ошибкам.

  5. Скопируйте файлы, которые существуют в Linux sites-enabled каталог в каталог Windows. Как и в шаге 4, убедитесь, что имена файлов заканчиваются на .conf добавив его, если он не существует в Linux.

  6. Добавьте следующее в конец файла 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
    
  7. Перезапустите 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.

мир

лед

Другие вопросы по тегам