Назад | Перейти на главную страницу

Директива Httpd Substitute не работает

Я не знаю, почему директива замены не работает. Бэкэнд-приложение, которое находится за обратным прокси-сервером, - это Liferay, и поскольку оно генерирует абсолютный URL-адрес, мне нужно сделать замену в прокси. Более того, мне нужно изменить имя хоста перед отправкой запроса в бэкэнд-приложение.

Вот мой httpd conf:

 <VirtualHost *:443>    
      ServerName site1.example.com
      SSLEngine On
      SSLCertificateFile /etc/httpd/conf/any.example.com.crt
      SSLCertificateKeyFile /etc/httpd/conf/any.example.com.key
      ProxyPass /Shibboleth.sso/ !
      ProxyPass / http://10.0.0.4:8080/
      ProxyPassReverse / http://10.0.0.4:8080/
      RequestHeader set Host "site2.example.com"
      ProxyPreserveHost On # Mandatory for changing the host
      AddOutputFilterByType SUBSTITUTE text/html
      Substitute "s|site2.example.com|site1.example.com|ni"
 </VirtualHost>

Проблема в том, что я всегда получаю URL-адреса результатов (html), которые указывают на site2.example.com. Например, у меня есть:

<a href="https://site2.example.com/link">Here!</a>