山崎屋の技術メモ

IT業界で働く中でテクノロジーを愛するSIerのシステムエンジニア👨‍💻 | AndroidとWebアプリの二刀流🧙‍♂️ | コードの裏にあるストーリーを綴るブログ執筆者✍️ | 日々進化するデジタル世界で学び続ける探究者🚀 | #TechLover #CodeArtisan、気になること、メモしておきたいことを書いていきます。

Apache HTTP サーバで応答ヘッダ(レスポンスヘッダ)を追加する

Apache HTTP サーバでは応答ヘッダを追加することが出来ます。

Apache モジュールの mod_headers を使います。
mod_headers - Apache HTTP サーバ バージョン 2.4

Apache HTTP サーバのバージョンは 2.4.41 を使用します。

Windows 10 にインストールする方法は以下を参考にしてください。
www.shookuro.com

デフォルトの応答ヘッダ

まず、インストールしたままの状態で「http://localhost/index.html」にアクセスした際の応答ヘッダを開発者ツールで確認してみます。
 
ブラウザは Chrome を使用しています。
f:id:yyama1556:20200712162652p:plain

この状態から Apache HTTP サーバの設定ファイルを操作し、応答ヘッダを追加します。

httpd.conf を修正

mod_headers を有効にする。

修正前(抜粋)

#LoadModule headers_module modules/mod_headers.so

修正後(抜粋)

LoadModule headers_module modules/mod_headers.so

次に追加したいヘッダ名と値を追記します。
 
「Header」ディレクティブを使用します。
 
今回は httpd.conf の一番下に追加しました。
 
修正後(抜粋)

Header set hoge "fuga"

設定ファイルの変更は以上。上書き保存しましょう。

動かしてみる

Apache HTTP サーバを再起動して、再度「http://localhost/index.html」にアクセスしてレスポンスヘッダを確認します。
f:id:yyama1556:20200712165037p:plain

hoge というヘッダが追加され、fuga という値が設定されています。

上手くいかない場合はキャッシュのクリアを試してください。

おまけ

mod_headers は リクエストヘッダも追加することが出来ます。

Apache で受け取ったリクエストにヘッダを追加してから Tomcat などのアプリケーションサーバに処理をお願いしたい時などに利用しましょう。
 
その際は「RequestHeader」ディレクティブを使用します。

まとめ

以上、Apache HTTP サーバの設定ファイルを操作し、応答ヘッダの追加を行いました。
 

初めてのWebサーバ「Apache」CentOS 7編 (NextPublishing)

初めてのWebサーバ「Apache」CentOS 7編 (NextPublishing)

  • 作者:大津 真
  • 発売日: 2017/05/26
  • メディア: Kindle版
Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

  • 作者:山本 陽平
  • 発売日: 2010/04/08
  • メディア: 単行本(ソフトカバー)