Apache прослушивает другой порт, но как мне его получить, чтобы мне не приходилось вводить номер порта? - PullRequest
1 голос
/ 26 января 2009

IIS и HTTP-сервер Apache работают параллельно на моей локальной машине, а Apache прослушивает другой порт (порт 81). IIS прослушивает порт 80. Однако я могу получить доступ к своим виртуальным доменам для Apache только в том случае, если я наберу этот номер порта. Так, например:

http://virtual.myvirtualdomain.com:81 http://virtual.myvirtualdomain2.com:81

Как я могу сделать так, чтобы Apache автоматически знал, что это порт 81, и не заставляет меня вводить номер порта?

EDIT:

Ответ, по-видимому, заключается в том, что мне нужно перенаправить IIS в Apache. Кто-нибудь может дать разъяснение о том, как это сделать с IIS 5.1?

Ответы [ 8 ]

7 голосов
/ 26 января 2009

Дело не в том, чтобы сообщить Apache, а в том, что браузер знает, к чему подключаться. Вам либо придется перенаправить IIS на Apache, либо сдаться.

3 голосов
/ 26 января 2009

Вы должны ввести номер порта, чтобы ваш клиент знал, куда подключиться. Это не имеет ничего общего с сервером.

В системах Unix вы можете изменить /etc/services, указав 81 в качестве порта для http. Но это фактически отключило бы доступ ко всем веб-сайтам, которые расположены на порте 80.

В качестве альтернативы вы можете настроить свой IIS на порту 80 для локальных запросов прокси для сайтов, которые находятся на Apache. Затем все клиенты будут запрашивать у IIS страницу, которая будет устанавливать локальное соединение с портом 81.

2 голосов
/ 26 января 2009

Как насчет обмена? Заставьте Apache прослушивать порт 80, IIS на порт 81 для чего угодно и иметь перенаправление Apache? Apache не должен быть ограничен одним и тем же веб-сайтом для каждой машины, как IIS 5.1.

2 голосов
/ 26 января 2009

Я провел еще несколько исследований, и оказалось, что вы не можете перенаправить IIS 5.1 на Apache, потому что для этого потребуется несколько веб-сайтов (настройка как перенаправление на виртуальные хосты на Apache через порт 81). Это связано с тем, что IIS 5.1 в Windows XP Pro не может работать с несколькими веб-сайтами (запущенными одновременно без использования скриптов). Ну хорошо.

1 голос
/ 26 января 2009

При вводе URL-адреса существует определенный порт, который браузер должен использовать для подключения к сайту. 80 порт по умолчанию, который проверяет сервер. Если вам нужно подключиться к любому другому порту через браузер, вам нужно будет указать номер порта в URL. Не apache заставляет вас набирать 81, а ваш браузер, потому что он настроен на использование 80 в качестве порта, когда номер порта не указан.

Если вы измените порт apache на 80 и порт IIS на 81, вы сможете подключиться к apache без номера порта, но вам потребуется использовать номер порта при использовании веб-сервера IIS.

Не уверен, что стоит за другой идеей использования apache для перенаправления в IIS. Мне кажется, что если вы сделаете запись в httpd.conf apache для каталога IIS, то вы будете использовать apache для подключения к каталогу, а не IIS. Вы можете настроить домен и подключить его к apache через порт 81. Это один из способов скрыть номер порта (возможно, это не так. Я никогда не пробовал apache на порту, отличном от 80).

1 голос
/ 26 января 2009

Нет способа сделать именно то, что вы просите. Единственным способом было бы настроить IIS - для виртуальных доменов, обслуживаемых IIS - для пересылки в Apache через порт 81. При такой конфигурации клиент не будет знать, что его запросы проходят через IIS на пути к Apache. Немного менее эффективно, но это решило бы ваши потребности.

1 голос
/ 26 января 2009

Вы не можете.

Задача вашего веб клиента - указать порт, и пока вы не укажете этот порт, он даже не достигнет Apache.

Что вы могли бы сделать, так это чтобы IIS также прослушивал те же виртуальные хосты HTTP / 1.1, а затем организовывал перенаправление 302 Moved для отправки вашему браузеру на правильный номер порта.

В качестве альтернативы запустите второй IP-адрес на своем компьютере и привяжите IIS к исходному IP-адресу, а Apache - ко второму. Таким образом, вам вообще не нужно использовать разные порты.

1 голос
/ 26 января 2009

Вы не можете. 81 сообщает вашему браузеру, где искать Apache.

...