无法删除缓存控制:Apache2中的no-cache =“set-cookie”

问题描述:

我是一个平庸的apache2配置专家,所以我期待apache GODS上学我的一个特定的头部导致一些浏览器不缓存cookies,这是我在做OAuth实现时需要的。无法删除缓存控制:Apache2中的no-cache =“set-cookie”

当我运行命令:

lwp-request -e -d http://foobar.com 

我的网站foobar.com返回以下标题:

Cache-Control: no-cache="set-cookie" 
Connection: Close 
Date: Thu, 13 Jan 2011 06:18:00 GMT 
Vary: Accept-Encoding 
Content-Language: en-US 
Content-Type: text/html;charset=UTF-8 
Client-Date: Thu, 13 Jan 2011 06:18:01 GMT 
Client-Peer: 50.16.212.144:80 
Client-Response-Num: 1 
Client-Transfer-Encoding: chunked 
Link: </images/ic_fav_alpha_32.png>; /="/"; rel="shortcut icon" 
Set-Cookie: JSESSIONID=C5055D83F9B5A52C062D8A9F616D62AB; Path=/ 
Set-Cookie: AWSELB=3505DFB9122FAFC80483E17CBEB5E23D24546B00A71218A5BAE3B79F14317437BEAEDA7FECDE95AFFF6463C9769D0D0E3214FD9D67BAA906438E5D0FA925CD323D7E860C2A;MAX-AGE=600 
Title: Foobar Home 
X-Meta-Description: Foobar Home Page 
X-Meta-Generator: Foobar 
X-Meta-Google-Site-Verification: u9YkTj5gr6aeYBst1Aac-B_5cCvJe_Ataauqep_EwEE 
X-Meta-Googlebot: index,follow 
X-Meta-Refresh: 20 
X-Meta-Robots: index,follow 

所以我试图取消设置Cache-Control头在我的网站配置apache2的因为我认为这个标题导致一些浏览器不接受cookies。 我希望他们接受我的cookies!

<VirtualHost *:80> 
     ServerName www.foobar.com 
     ServerAlias foobar.com 
     ProxyPass/ajp://localhost:8009/ 
     ProxyPassReverse/http://localhost:8080/ 
     ProxyPreserveHost On 
     # alert, emerg. 
     LogLevel warn 
     ErrorLog /var/log/apache2/error.log 
     CustomLog /var/log/apache2/access.log combined 
     ServerSignature On 
     Header unset Cache-Control 
     Header append Cache-Control "public" 
</VirtualHost> 

而现在我希望的no-cache标题消失,成为“公”为foobar.com,但是这确实发生了。这是重新启动的Apache2后的Cache-Control头:

Cache-Control: public 
Cache-Control: no-cache="set-cookie" 

这不是我的期望,我想取消设置将取消设置一个特定类型的所有头!

注意。这是一个apache http服务器,它充当localhost:8080上的tomcat服务器前的ajp代理。我期待这一点无关紧要。

任何想法如何摆脱这个讨厌的头?

谢谢!

+1

哇* *这是一个难倒的? – 2011-01-15 18:36:32

尝试把未设置标题下的位置:

<Location "/"> 
    Header unset Cache-Control 
</Location>