Назад | Перейти на главную страницу

Установите «Флаг безопасности» для файлов cookie только для одного (из многих) виртуальных хостов на Apache

Я размещаю несколько сайтов на одном 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).