# メッセージバスはDISCOURSE\_LONG\_POLLING\_BASE\_URL設定を無視し、常に「/」を使用します

**URL:** https://meta.discourse.org/t/message-bus-ignores-discourse-long-polling-base-url-setting-and-always-uses/379897
**Category:** Bug
**Created:** [2025 年 8 月 22 日午後 1:11 UTC](https://meta.discourse.org/t/message-bus-ignores-discourse-long-polling-base-url-setting-and-always-uses/379897 "2025-08-22T13:11:04Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![lukec](https://avatars.discourse-cdn.com/v4/letter/l/b5e925/32.png) [@lukec](https://meta.discourse.org/u/lukec)
#### Post date: [2025 年 8 月 22 日午後 1:11 UTC](https://meta.discourse.org/t/message-bus-ignores-discourse-long-polling-base-url-setting-and-always-uses/379897/1 "2025-08-22T13:11:04Z")

</div>

## 問題の説明

最近、新しいCDNサービスをセットアップし、`app.yml`で`DISCOURSE_LONG_POLLING_BASE_URL`を設定して、ロングポーリングサービスを元のサーバーから分離しようとしていました。

しかし、メッセージバスは設定されたロングポーリングの基本URLを尊重せず、「/」にリクエストを送信し続けています。

## 再現手順

1. `app.yml`でカスタムCDN URLを使用して`DISCOURSE_LONG_POLLING_BASE_URL`を設定します。
2. Discourseを再構築して起動します。
3. フロントエンドが環境変数の値を正しく読み取っていることを確認します。
4. ブラウザの開発者ツールでメッセージバスのネットワークリクエストを観察します。

## いくつかのスクリーンショット

**フロントエンドが設定を正しく読み取っている:**

 ![front-end, the data-preloaded content](https://global.discourse-cdn.com/meta/original/4X/2/b/6/2b6d9d9b2bd1d6a7a82714f46b48ef91d4b6289d.png)

## 期待される動作

設定が提供されている場合、メッセージバスはリクエストに設定された`long_polling_base_url`設定を使用する必要があります。

## 実際の動作

`DISCOURSE_LONG_POLLING_BASE_URL`の設定に関係なく、メッセージバスは「/」へのリクエストを送信し続けます。

## 原因

問題は`app/assets/javascripts/discourse/app/instance-initializers/message-bus.js`にあります。

`messageBus.baseUrl`を設定するロジックが`long_polling_base_url`サイト設定を正しく処理しておらず、カスタムURLが設定されている場合でもデフォルトで「/」になっていました。

## 修正

メッセージバスインスタンスイニシャライザで問題を特定し、修正しました。この修正により、`siteSettings.long_polling_base_url`が設定されており、「/」と等しくない場合に、メッセージバスの基本URLが正しく設定されるようになります。

**プルリクエスト:** [FIX: Respect long\_polling\_base\_url setting for message bus configuration - Pull Request #34477 - discourse/discourse - GitHub](https://github.com/discourse/discourse/pull/34477)

## 検証

- フロントエンドが環境変数を正しく読み取っていることを確認しました。
- 設定を尊重するようにメッセージバスの初期化ロジックを修正しました。
- すべてのフォーマットチェックに合格しました。
- メッセージバスが現在、設定されたロングポーリングの基本URLを正しく使用しています。

このバグは、ロングポーリングを使用してカスタムCDNセットアップを使用するあらゆるDiscourseインストールに影響を与え、メッセージバスリクエストのCDN利用を妨げていました。

* * *

@David\_Ghostに感謝します。ディスカッションはこちらをご覧ください:

> [@Discourse のサイト全体の CDN 高速化](https://meta.discourse.org/t/full-site-cdn-acceleration-for-discourse/21467/43?u=lukec):
>
> こんにちは。 フォーラムで再度設定していますが、一つ分からないことがあります。ロングポーリングURLをどのように設定すればよいのでしょうか？サブドメインを作成して、「Site.Setting.Longpolling（正確な設定名が分かりません）」に追加する必要があるのでしょうか？ よろしくお願いします。

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [2025 年 8 月 24 日午後 11:46 UTC](https://meta.discourse.org/t/message-bus-ignores-discourse-long-polling-base-url-setting-and-always-uses/379897/2 "2025-08-24T23:46:20Z")

</div>

なるほど、良い修正ですね。貢献していただきありがとうございます！
