无法从Apache2中删除Cache-Control: no-cache="set-cookie"

5
我是一名中等水平的Apache2配置专家,因此我希望向Apache大神请教一个特定的标头,该标头会导致某些浏览器无法缓存Cookie,而我需要这些Cookie来实现OAuth。
当我运行以下命令时:
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

我尝试在我的apache2站点配置中取消设置Cache-Control头部,因为我认为这个头部会导致某些浏览器不接受cookie。 我希望他们能够接受我的cookie!

<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头部消失,并且变成"public",但是并没有发生。这是重新启动apache2后的Cache-Control头部:

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

这不是我的期望,我认为unset会取消特定类型的所有标头!

注意。 这是一个充当本地主机上Tomcat服务器前面的ajp代理的Apache HTTP服务器。 我希望这不重要。

有什么想法可以摆脱这个讨厌的标题吗?

谢谢!


1
哇,这个很难搞定? - Clay Graham
嗨,你找到解决方案了吗? - Mukesh
1个回答

1
尝试将未设置的头部放在位置下面:
<Location "/">
   Header unset Cache-Control
</Location>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接