仅为 Apache 上一个(多个)虚拟主机设置 Cookie 上的“安全标志”

仅为 Apache 上一个(多个)虚拟主机设置 Cookie 上的“安全标志”

我在一台 VPS(Debian Jessie,Apache 2.4)上托管了多个网站。其中一个网站强制使用 HTTPS。在这个网站上,也只有这个网站上,我想为 cookie 设置“安全标志”。我找到了很多资源,解释了如何为全部通过文件托管在服务器上的站点apache2.conf,如下所示:

LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so
Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure

但我希望 Apache 应用此标头重写仅有的到 HTTPS 站点。我该怎么做?

答案1

感谢@JayMcTee 的评论,我偶然找到了答案。

要将设置应用于一个特定的虚拟主机,只需在文件中添加相同的行apache2.conf

LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so
Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure

...在您的虚拟主机块内。例如:

<IfModule mod_ssl.c>
<VirtualHost *:443>
  ServerAdmin [email protected]
  ServerName  domain.com
  ServerAlias www.domain.com

  DirectoryIndex index.html index.php
  DocumentRoot /var/www/domain.com/public_html

  ...

  LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so
  Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure

</VirtualHost>
</IfModule>

然后重新启动 Apache(service apache2 restart)。

相关内容