force_ssl: true の際に ActionDispatch::SSL は必ず Strict-Transport-Security を付与する。
ssl_options の hsts に false を設定した場合にも max-age=0 でつけてくる。
Nginx のみで Strict-Transport-Security をつけるようにしたかった。

以下の issue で ssl_options の設定で HSTS ヘッダーを無効にする提案があった。 https://github.com/rails/rails/issues/48609

結果としては、Rails では HSTS ヘッダーを必ずつけるようにして安全側に倒す。 リーバスプロキシで HSTS ヘッダーを設定したい場合はリバースプロキシで Rails がつけた HSTS ヘッダーを削除せよとのこと。

削除コマンドも提示されていた。
https://github.com/rails/rails/issues/48609#issuecomment-1662511786

location @app {
  # ...
  proxy_hide_header Strict-Transport-Security;
  add_header Strict-Transport-Security "max-age=31536000;";
  # ...
}

http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_hide_header

ちなみに同じ値であっても重複してつけた場合は https://hstspreload.org/ で以下のようにエラーが出る

Error: Multiple HSTS headersResponse error: Multiple HSTS headers (number of HSTS headers: 2).