这是我在此的头一篇博文。
我已经在论坛中搜索了相关问题,但似乎没有一个结果可以解决我的问题。
设置是:
在内部客户网络的 IIS 7 上部署了 MS Sharepoint 2010。这似乎在内部网络中表现正确。
为了公开这项服务,我在 DMZ 上的 Red Hat EL 6.0 上运行了一个 apache 2.2 服务器。apache 有一个配置为反向代理的虚拟主机,以允许来自外部的连接。
由于我发现了一些链接问题,我不得不编译和集成 mod_proxy_html 模块来解析这些链接。
问题是我在从外部(通过 apache)访问时看到奇怪的字符。这是由于 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-equiv="Content-type" content="text/html; charset=utf-8"。
我已经尝试添加到我的 httpd.conf:
添加默认字符集 utf-8
ProxyHTMLCharsetOut utf-8
ProxyHTMLMeta 开启
virtualhost配置如下(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
任何帮助,将不胜感激。
谢谢。
胡安