Обратный прокси-сервер Apache удаляет <meta http-equ = "Content-type" content = "text / html; charset = utf-8" />

Это мой первый пост здесь.

Я уже искал на форуме связанную проблему, но ни один из результатов, похоже, не решил мою проблему.

Настройка:

Существует MS Sharepoint 2010, развернутая на IIS 7 во внутренней сети клиентов. Это, кажется, ведет себя правильно изнутри внутренней сети.

Чтобы сделать эту службу общедоступной, у меня есть сервер Apache 2.2, работающий на Red Hat EL 6.0 в DMZ. Apache имеет vhost, настроенный как обратный прокси, чтобы разрешить соединения извне.

Из-за некоторых проблем со ссылками, которые я обнаружил, мне пришлось скомпилировать и интегрировать модуль mod_proxy_html для анализа этих ссылок.

Проблема в том, что я вижу странные символы при доступе извне (через апач). И это из-за того, что Apache удалил метатег html:

Внутри MZ, HTML-код начинается:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
    <html dir="ltr" lang="es-ES"> 

    <head><meta http-equiv="X-UA-Compatible" content="IE=10" /><meta name="GENERATOR" content="Microsoft SharePoint" /><meta http-equiv="Content-type" content="text/html; charset=utf-8" /><meta http-equiv="Expires" content="0" /><meta name="msapplication-TileImage" content="/_layouts/15/images/SharePointMetroAppTile.png" /><meta name="msapplication-TileColor" content="#0072C6" /><title>

Однако при доступе извне html-код запускается:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html dir="ltr" lang="es-ES">

<head><meta http-equiv="X-UA-Compatible" content="IE=10" /><meta name="GENERATOR" content="Microsoft SharePoint" /><meta http-equiv="Expires" content="0" /><meta name="msapplication-TileImage" content="/_layouts/15/images/SharePointMetroAppTile.png" /><meta name="msapplication-TileColor" content="#0072C6" /><title> 

Отсутствует тег: meta http-экв. ="Content-type" content="text/html; charset=utf-8".

Я уже попытался добавить в мой httpd.conf:

AddDefaultCharset utf-8

ProxyHTMLCharsetOut utf-8

ProxyHTMLMeta On

Виртуальный хост настроен следующим образом (130.177.97.99 - это IP, принадлежащий бэкэнду):

<VirtualHost bpocenter-hp:5445> 
    ServerName www.bpocenter-hp.com 
    SSLProtocol -all +TLSv1 
    SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5 
    SSLEngine on 
    SSLProxyEngine on 
    SSLCertificateChainFile /etc/httpd/cert_bpo-hp/intermediate.crt 
    SSLCertificateKeyFile /etc/httpd/cert_bpo-hp/server.key 
    SSLCertificateFile /etc/httpd/cert_bpo-hp/server.crt 

    ProxyHTMLEnable On 

    SetOutputFilter proxy-html 

    ProxyHTMLLogVerbose On 
    ProxyHTMLExtended on 

    ProxyHTMLMeta On 

    TransferLog "|/usr/serveis/app/apache/bin/rotatelogs /serveis/logs/bpocenter-hp/access_log 86400" 
    ErrorLog "|/usr/serveis/app/apache/bin/rotatelogs /serveis/logs/bpocenter-hp/error_log 86400" 

    ProxyRequests Off 

    ProxyPass / http://130.177.97.99:8065/ ttl=900 timeout=900 Keepalive=On 
    ProxyPassReverse / http://130.177.97.99:8065/ 
    RequestHeader      unset  Accept-Encoding 

    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 
    ProxyHTMLLinks  iframe          src 

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

    SetOutputFilter proxy-html 
    ProxyHTMLURLMap http://130.177.97.99:8065 https://www.bpocenter-hp.com:5445 

Любая помощь будет оценена.

Благодарю.

Juan

1 ответ

Я исправил это с помощью:

xml2EncDefault utf-8

Другие вопросы по тегам