Apache 2.4 reverse proxy produces wrong anchors

I ran Apache 2.4.20 on AIX 6.1 as a reverse proxy in order to access Oracle Business Intelligence 11.1.1.7.150120 running on a backend Server.

The reverse proxy modifies the original HTML code resulting in HREF anchors set to the wrong place.

This leads to malfunctioning menus (the anchor is not on a table structure anymore).

Original HTML code (part):

<a 
    id="selEditDashboard"
    class="NQWMenuItem NQWMenuItemWIconMixin"
    href="javascript:void(null)"
    onclick="EditPage('saw.dll?EditDashboard&amp;PortalPath=%2fusers%2fweblogic%2f_portal&amp;Page=page%201&amp;Done=saw.dll%3fDashboard');return false;"
>

<table class="MenuItemTable" cellspacing="0" cellpadding="0">
<tr>
<td class="MenuItemIconCell">
<img border="0" src="res/sk_FusionFX/catalog/edit_ena.png" alt="Dashboard bearbeiten"/>
</td>
<td class="MenuItemTextCell" colspan="2">Dashboard bearbeiten
</td>
</tr>
</table>
</a>

HTML code coming from reverse Proxy:

<a 
    id="selEditDashboard"
    class="NQWMenuItem NQWMenuItemWIconMixin"
    href="javascript:void(null)"
    onclick="EditPage('saw.dll?EditDashboard&amp;PortalPath=%2fusers%2fweblogic%2f_portal&amp;Page=page%201&amp;Done=saw.dll%3fDashboard');return false;"
>
</a>
<table class="MenuItemTable" cellspacing="0" cellpadding="0">
<tr>
<td class="MenuItemIconCell">
<img border="0" src="res/sk_FusionFX/catalog/edit_ena.png" alt="Dashboard bearbeiten">
</td>
<td class="MenuItemTextCell" colspan="2">Dashboard bearbeiten
</td>
</tr>
</table>

Here's an excerpt from my httpd.conf:

<IfModule proxy_module>
        LogLevel info
        SetOutputFilter INFLATE;proxy-html;DEFLATE
        SSLProxyEngine On

        ProxyPreserveHost On
        ProxyRequests Off

        ProxyHTMLEnable On
        RequestHeader unset Accept-Encoding
        ProxyHTMLCharsetOut *

        ProxyHTMLStripComments Off
        ProxyHTMLMeta On
        ProxyHTMLExtended On

        <Proxy *>
           Order deny,allow
           Allow from all
        </Proxy>

        ProxyPass          /oa-links.html http://backend_server_and_port/oa-links.html
        ProxyPassReverse   /oa-links.html http://backend_server_and_port/oa-links.html

        <Location />
        Order deny,allow
                Allow from all
        </Location>

        ProxyPass          /analytics/   http://backend_server_and_port/analytics/
        ProxyPassReverse   /analytics/   http://backend_server_and_port/analytics/
        <Location /analytics/>
                ProxyPassReverse /analytics/
                Order deny,allow
                Allow from all
        </Location>

        SetEnv proxy-sendchunked 1

        Header edit Location ^http://backend_server_and_port/analytics/ https://backend_server_and_port/analytics/
</IfModule>

Please help!

1
задан 19 July 2016 в 15:17
1 ответ

Насколько я могу судить, mod_proxy_html действительно понимает только HTML 4.01 и XHTML 1.0 на основе https://httpd.apache.org/docs/2.4/mod /mod_proxy_html.html#proxyhtmldoctype[1134820 visible.[123 sizesПоиск, разрешен ли

в появляется https://stackoverflow.com / questions / 6013943 / table-tag-inside-anchor-tag среди других ответов, которые предполагают, что это не разрешено в HTML 4, поэтому я думаю, что mod_proxy_html «полезно» переписывает ваш документ, чтобы действительный HTML 4, который нарушает ваши привязки.

Если посмотреть на https://httpd.apache.org/docs/trunk/mod/mod_proxy_html.html#proxyhtmldoctype , можно предположить, что Apache> 2.4 мог бы лучше справиться с WRT HTML 5, чтобы вы могли попробовать использовать разрабатываемую версию и посмотреть, работает ли она лучше.

0
ответ дан 4 December 2019 в 06:05

Теги

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