Apache mod_header 规则将所有 cookie 更改为安全

Apache mod_header 规则将所有 cookie 更改为安全

我想将所有 cookie 更改为安全且仅限 http。对于一个 cookie,它工作正常,但当响应中设置了多个 cookie 时,它​​不起作用。

Apache mod_header 规则应该将 cookies 从:

Set-Cookie cookie1=value; Path=/somePath
Set-Cookie cookie2=value; Path=/somePath

Set-Cookie cookie1=value; Path=/somePath; Secure; Http-Only
Set-Cookie cookie2=value; Path=/somePath; Secure; Http-Only

我使用 mod_headers 来实现以下规则:

Header edit Set-Cookie ^(.*)$ $1;Secure;HttpOnly

当仅设置一个 cookie 时,它​​可以正常工作,但如果有多个 cookie,它只会删除以下所有内容,并且根本不会设置它们。

有没有关于如何为多个值编写 mod_headers 规则的帮助?或者问题出在其他方面?

答案1

我找到了答案。问题出在服务器上安装的 apache 版本上。Edit 命令从 2.2.4 版开始受支持,但版本是 2.2.3(RHEL 5+ 上的默认版本)。因此我升级了 httpd,一切正常。

有关在 RHEL 或 CentOS 上升级 httpd 的更多信息,请参阅:

http://www.jasonlitka.com/2007/01/17/upgrading-to-httpd-224-on-rhel-centos-4/

http://www.jasonlitka.com/yum-repository/

答案2

此规则适用于 apache 2.2.3

Header set Set-Cookie HttpOnly;Secure

相关内容