Почему мой прокси реверса Apache не работающий для перевода атрибутов HREF привязки при передаче обратно клиенту?

Я имею

# For blog
LoadModule proxy_html_module libexec/mod_proxy_html.so
LoadModule ssl_module libexec/mod_ssl.so
LoadModule xml2enc_module libexec/mod_xml2enc.so
SSLProxyEngine on
ProxyRequests off
ProxyPass /blog https://xxxx.wordpress.com
ProxyPassReverse /blog https://xxxx.wordpress.com
ProxyHTMLEnable On
ProxyHTMLURLMap https://xxxx.wordpress.com /blog
<Location /blog>
  ProxyPassReverse /
  ProxyHTMLEnable On
  ProxyHTMLURLMap / /blog
  RequestHeader    unset  Accept-Encoding
  #LogLevel proxy:debug
</Location>

После этих руководств:

https://devcenter.heroku.com/articles/custom-php-settings#using-a-custom-application-level-apache-configuration

http://www.apachetutor.org/admin/reverseproxies

https://httpd.apache.org/docs/trunk/mod/mod_proxy.html

Когда я посещаю URL http://www.xxxx.com/blog/, он не заменяет ссылками привязки https://xxxx.wordpress.com/2015/09/16/hello-world/с блогом/.

Это работает локально, но не в производстве.

Вот пример HTML, который проходит прокси и появляется в браузере:

<h1 class="entry-title">
  <a href="https://xxxx.wordpress.com/2015/09/16/hello-world/" rel="bookmark">Hello world!</a></h1>

Я также использовал другой хост блога (HostGator) вместо Wordpress.com, но он все еще не работает. (Не то, чтобы это должно иметь значение.)

Apache 2.4.16, производство: 2.4.10 (?)

3
задан 24 September 2015 в 03:56
1 ответ

Ссылки в теле ответа не могут быть обновлены с помощью прокси-ссылки, если на целевом хосте нет функции для возврата ожидаемых URL-адресов, или вам нужно явно управлять ссылками в теле ответа с помощью дополнительного кодирования . Подробнее ..

Если он работает в dev, значит, есть такой конфиг, который вам не хватает в продукте.

0
ответ дан 3 December 2019 в 08:03

Теги

Похожие вопросы