我在一台 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
)。