Nginx で add_header を異なるディレクティブに書くと設定が反映されず、上書きされてしまう問題とその解決方法をご紹介します。

image

server {
  listen 443 default ssl http2;
  server_name  your.example.com;

  add_header X-Frame-Options SAMEORIGIN always;
  add_header Strict-Transport-Security "max-age=31536000; preload" always;

  location = /robots.txt {

    # server ディレクティブと同じ内容の add_header を記述

    add_header X-Frame-Options SAMEORIGIN always;
    add_header Strict-Transport-Security "max-age=31536000; preload" always;

    add_header content-type text/plain;
    default_type text/plain;
  }
}

詳細は下記 URL をご参照ください。