Я размещаю несколько сайтов на одном 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-сайт. Как я могу это сделать?
Благодаря комментариям @ 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@domain.com
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
).