# STSヘッダーに「IncludeSubdomain」を追加するサポートされている方法

**URL:** https://meta.discourse.org/t/supported-way-of-adding-includesubdomain-to-sts-headers/393114
**Category:** Development
**Created:** [2026 年 1 月 9 日午後 9:47 UTC](https://meta.discourse.org/t/supported-way-of-adding-includesubdomain-to-sts-headers/393114 "2026-01-09T21:47:14Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![tanya\_byrne](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tanya_byrne/32/444826_2.png) [@tanya\_byrne](https://meta.discourse.org/u/tanya_byrne)
#### Post date: [2026 年 1 月 9 日午後 9:47 UTC](https://meta.discourse.org/t/supported-way-of-adding-includesubdomain-to-sts-headers/393114/1 "2026-01-09T21:47:14Z")

</div>

皆さん、こんにちは。

現在セルフホストしているDiscourseインスタンスについて、社内スキャナーの要件により、STSヘッダーに「IncludeSubDomains」を追加する必要があります。

以前は、ビルド後のカスタムコマンドで`app.yml`内のsedコマンドを使用して、`/etc/nginx/conf.d/discourse.conf`を更新し、`'add_header Strict-Transport-Security “max-age=31536000; includeSubDomains” always;`を含めることでこれを実現していました。

また、以下も使用していました。

```plaintext
 - replace:
      filename: "/etc/nginx/conf.d/outlets/discourse/20-https.conf"
      from: /add_header Strict-Transport-Security.+/
      to: add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
      global: true

  - replace:
      filename: "/etc/nginx/conf.d/outlets/server/20-https.conf"
      from: /add_header Strict-Transport-Security.+/
      to: add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
      global: true

```

これは以前は機能していましたが、機能しなくなりました。新しいアウトレットファイルを作成することで、以下を使用して追加できると読みました。

```plaintext
hooks:
  after_code:
    - file:
        path: /etc/nginx/conf.d/outlets/server/90-hsts.conf
        chmod: 444
        contents: |
          add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

```

しかし、これによりSSLテンプレートからのものと新しいテンプレートからのものの2つのSTSヘッダーが存在することになります。2つのSTSヘッダーが発生しないようにするためのより良い方法はありますか？Nginxは最後に追加されたヘッダーを尊重し、`max-age=31536000; `のみを含むSSLテンプレートのヘッダーは無視するはずなので、これは欠陥でしょうか？ご指導いただければ幸いです。

---

<div class="post-metadata">

### Author: ![supermathie](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/supermathie/32/507518_2.png) [@supermathie](https://meta.discourse.org/u/supermathie)
#### Post date: [2026 年 1 月 9 日午後 10:23 UTC](https://meta.discourse.org/t/supported-way-of-adding-includesubdomain-to-sts-headers/393114/2 "2026-01-09T22:23:09Z")

</div>

> [@tanya\_byrne](#):
>
> `add_header`

`add_header`の代わりに`set_header`を使用すると問題は解決しますか？

---

<div class="post-metadata">

### Author: ![tanya\_byrne](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tanya_byrne/32/444826_2.png) [@tanya\_byrne](https://meta.discourse.org/u/tanya_byrne)
#### Post date: [2026 年 1 月 9 日午後 10:26 UTC](https://meta.discourse.org/t/supported-way-of-adding-includesubdomain-to-sts-headers/393114/3 "2026-01-09T22:26:27Z")

</div>

試してみます、そしてご報告しますね 🙂

---

<div class="post-metadata">

### Author: ![tanya\_byrne](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tanya_byrne/32/444826_2.png) [@tanya\_byrne](https://meta.discourse.org/u/tanya_byrne)
#### Post date: [2026 年 1 月 9 日午後 11:52 UTC](https://meta.discourse.org/t/supported-way-of-adding-includesubdomain-to-sts-headers/393114/4 "2026-01-09T23:52:00Z")

</div>

`set_header`を使用すると、再構築時にSSLエラーが発生し、証明書が認識されず、フォーラムページを読み込もうとすると「接続が拒否されました」というメッセージが表示されます。

さらに詳しい情報として、独自のSSL証明書を使用しています。

---

<div class="post-metadata">

### Author: ![supermathie](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/supermathie/32/507518_2.png) [@supermathie](https://meta.discourse.org/u/supermathie)
#### Post date: [2026 年 1 月 10 日午前 12:34 UTC](https://meta.discourse.org/t/supported-way-of-adding-includesubdomain-to-sts-headers/393114/5 "2026-01-10T00:34:58Z")

</div>

> [@tanya\_byrne](#):
>
> 証明書が認識されない、および「接続が拒否されました」というメッセージ

これら2つのエラーは相互に排他的です…

申し訳ありません、nginxには`set_header`がありません。記憶違いで、それは別のツールからのものでした。

最も簡単なオプションは、おそらく`templates/web.ssl.template.yml`を希望する新しい値で編集することです。

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [2026 年 1 月 10 日午後 11:55 UTC](https://meta.discourse.org/t/supported-way-of-adding-includesubdomain-to-sts-headers/393114/6 "2026-01-10T23:55:26Z")

</div>

> [@supermathie](#):
>
> 最も簡単な方法は、新しい値で `templates/web.ssl.template.yml` を編集することでしょう。

まず、それが最も簡単なので、それを試すことをお勧めします。それができたら、次に簡単なことは、gitとの競合による問題を避けるために、そのファイルを別の場所にコピーすることです。最善の解決策は、現在の戦略と、競合する他の設定を削除するための別の行を組み合わせることでしょう。

---

<div class="post-metadata">

### Author: ![tanya\_byrne](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tanya_byrne/32/444826_2.png) [@tanya\_byrne](https://meta.discourse.org/u/tanya_byrne)
#### Post date: [2026 年 1 月 11 日午前 12:07 UTC](https://meta.discourse.org/t/supported-way-of-adding-includesubdomain-to-sts-headers/393114/7 "2026-01-11T00:07:28Z")

</div>

お二人とも、ご協力ありがとうございます！

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [2026 年 2 月 10 日午前 12:07 UTC](https://meta.discourse.org/t/supported-way-of-adding-includesubdomain-to-sts-headers/393114/8 "2026-02-10T00:07:40Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
