Я пытаюсь настроить виртуальный хост на своей машине Windows, используя комбинацию файлов Apache и HOSTS.
Например, я хочу, www.example.com
чтобы меня обслуживал мой сервер по адресу localhost
. Однако порт 80
занят процессом Citrix, который нельзя изменить.
Итак, мой httpd
показатель составляет 81. Я хочу добиться следующего.
- я ударилhttp://www.example.comв моем браузере.
- Конфигурация виртуальных хостов Apache должна получить этот запрос, несмотря на работу на порту 81. (Вот где мое беспокойство!)
- Подавать страницы изhttp://localhost:81/htdocs.
Это вообще возможно?
Ниже приведен соответствующий раздел в моем httpd.conf
:
ServerName www.example.com:81
NameVirtualHost www.example.com:81
А в моем hosts
файле есть следующая строка:
127.0.0.1 www.example.com
решение1
Вставьте следующий фрагмент httpd.conf
и посмотрите, работает ли он. Он внутренне перенаправляет все запросы http://localhost:8080/rat
наhttp://localhost:9080/rat
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /rat http://localhost:9080/rat
ProxyPassReverse /rat http://localhost:9080/rat
URL в браузере остается прежним, http://www.example.com:8080/rat
но содержимое передается изhttp://localhost:9080/rat