perl – 剥离自定义HTTP标头字段
发布时间:2020-12-16 06:18:09 所属栏目:大数据 来源:网络整理
导读:我的公司销售一个基于LAMP(其中P = Perl,而不是 PHP)应用程序作为设备部署.客户正在尝试将他们的SiteMinder SSO与我们的应用程序集成,以便我们的设备位于运行SiteMinder Apache插件的代理后面,该插件充当网守.对于我们的应用程序通过SSO对用户进行身份验证,
我的公司销售一个基于LAMP(其中P = Perl,而不是
PHP)应用程序作为设备部署.客户正在尝试将他们的SiteMinder SSO与我们的应用程序集成,以便我们的设备位于运行SiteMinder Apache插件的代理后面,该插件充当网守.对于我们的应用程序通过SSO对用户进行身份验证,我们希望看到包含SSO cookie(本例中为SMSESSION)的HTTP请求以及包含用户名的自定义HTTP头变量.
但是,当我们的Apache服务器从SSO代理接收HTTP请求时,尽管存在cookie,但所有自定义HTTP似乎都已被剥离.我已经检测了Perl代码,使用以下代码将标头写入日志文件: my $q = new CGI; ... my %headers = map { $_ => $q->http($_) } $q->http(); my $headerDump = "Got the following headers:n"; for my $header ( keys %headers ) { $headerDump = $headerDump . "$header: $headers{$header}n"; } kLogApacheError("info",$headerDump); …这是我得到的输出(为保密而略微编辑): [Wed Mar 16 23:47:31 UTC 2011] [info] Got the following headers: HTTP_COOKIE: s_vi=[CS]v1|26AE2FFD851D091F-4000012E400035C5[CE]; s_nr=1297899843493; [snip] HTTP_ACCEPT_LANGUAGE: en-US,en;q=0.8 HTTP_ACCEPT_ENCODING: gzip,deflate,sdch HTTP_CONNECTION: keep-alive HTTP_ACCEPT: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 HTTP_ACCEPT_CHARSET: ISO-8859-1,utf-8;q=0.7,*;q=0.3 HTTP_USER_AGENT: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.13 (KHTML,like Gecko) Chrome/9.0.597.107 Safari/534.13 HTTP_HOST: [redacted].com IOW,我期待的客户HTTP标头丢失了.当我们将流量从代理重定向到不同的Apache服务器(即不是我们的设备)时,所有20个自定义标头都会按预期显示.这强烈暗示我们的Apache服务器正在剥离标头. 即使使用这种特殊的SSO解决方案,我们也从未遇到过其他部署这样的问题.我意识到这与本网站上的另一个问题类似(Server removes custom HTTP header fields),但那里的建议(例如运行mod_security导致的问题)不适用. 我们的服务器可能正在剥离HTTP标头还有其他原因吗?或者可能还有其他事情发生? 谢谢你的帮助! 马特 解决方法
您是否嗅过代理与Apache实例之间的原始HTTP流量?如果此处缺少必要的标头,则问题出在代理端.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |