2015-09-01 3 views
0

Я пытаюсь провести некоторое тестирование на своем веб-сервере, чтобы убедиться, что обратный прокси работает должным образом, прежде чем помещать его в живую среду, но у меня возникают проблемы с mod_proxy и mod_proxy_html.Настройка mod_proxy_html на CentOS 7

У меня есть 2 виртуальных хоста, 1 на порту 80 и 1 на порту 8080. Моя цель - получить входящие запросы на www.example.com/path/, чтобы войти в порт 80, и получить обратный прокси-сервер к порту 8080 .

Вот мои виртуальные настройки хоста:

<VirtualHost *:8080> 
ServerName www.example.com:8080 
DocumentRoot /var/www/html/test 
RewriteEngine On 
RewriteCond %{REQUEST_URI} !^.*test 
RewriteRule ^/?(.*) http://127.0.0.1:8080/test.html [R=301,L] 
</VirtualHost> 

<VirtualHost *:80> 
ServerName www.example.com 
ProxyHTMLEnable On 
ProxyHTMLInterp On 
ProxyPreserveHost Off 
ProxyPass  /path/ http://127.0.0.1:8080/ 
ProxyPassReverse /path/ http://127.0.0.1:8080/ 
ProxyHTMLURLMap http://127.0.0.1:8080/ /path/ 
</VirtualHost> 

Мой/вар/WWW/HTML/тест имеет 2 файлы index.html и test.html
содержание test.html являются:

<HTML> 
<BODY> 
<a href="http://127.0.0.1:8080/index.html">TEST</a> 
</BODY> 
</HTML> 

Переход на сайт www.example.com/path/ успешно проксируется и перенаправляется на www.example.com/path/test.html, но ссылка на странице по-прежнему указывает на 127.0.0.1.

HTTPD -М делает загрузки отчета proxy_module и proxy_html_module
Я также попытался вручную добавлять LoadModule к http.conf

LoadModule proxy_module /usr/lib64/httpd/modules/mod_proxy.so 
LoadModule proxy_html_module /usr/lib64/httpd/modules/mod_proxy_html.so 

Любые мысли о том, почему он не работает должным образом? Я что-то неправильно настраиваю?

ответ

1

Пакет mod_proxy_html в CentOS 7 не содержит никаких настроек по умолчанию ProxyHTMLLinks или ProxyHTMLEvents, поэтому он ничего не делает, если вы сами не предоставите эти настройки.

Один из способов сделать это, чтобы скопировать /usr/share/doc/httpd-2.4.6/proxy-html.conf в /etc/httpd/conf.d/. Этот файл содержит следующие настройки, которые должны заставить все работать:

ProxyHTMLLinks a  href 
ProxyHTMLLinks area  href 
ProxyHTMLLinks link  href 
ProxyHTMLLinks img  src longdesc usemap 
ProxyHTMLLinks object  classid codebase data usemap 
ProxyHTMLLinks q  cite 
ProxyHTMLLinks blockquote cite 
ProxyHTMLLinks ins  cite 
ProxyHTMLLinks del  cite 
ProxyHTMLLinks form  action 
ProxyHTMLLinks input  src usemap 
ProxyHTMLLinks head  profile 
ProxyHTMLLinks base  href 
ProxyHTMLLinks script  src for 

ProxyHTMLEvents onclick ondblclick onmousedown onmouseup \ 
       onmouseover onmousemove onmouseout onkeypress \ 
       onkeydown onkeyup onfocus onblur onload \ 
       onunload onsubmit onreset onselect onchange 
+0

Спасибо !!! Похоже, это сделал трюк! – bqq100