web-dev-qa-db-ja.com

Apacheの(多数の)1つだけの仮想ホストのCookieに「セキュアフラグ」を設定する

1つのVPS(Debian Jessie、Apache 2.4)で多くのサイトをホストしています。これらのサイトの1つはHTTPSを強制します。このサイトでのみ、Cookieに「セキュアフラグ」を設定したいと思います。次のように、Apache2.confファイルを介してサーバーでホストされているallサイトに対してこれを行う方法を説明する大量のリソースを見つけました。

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

しかし、Apacheでこのヘッダーの書き換えonlyを1つの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)を再起動します。

1