Обратный прокси-сервер 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