app.ymlファイルを編集してアプリを再構築した後、301リダイレクトが機能しない

古いドメインの転送がうまくいきません。personal/private なデータを削除した app.yml の全体を以下に示します。

## これはすべてを一つにまとめた、スタンドアロンの Discourse Docker コンテナ用テンプレートです
##
## このファイルを変更した後は、必ず再構築が必要です
## /var/discourse/launcher rebuild app
##
## 編集時は *非常に* 注意してください!
## YAML ファイルは、空白やアライメントの誤りに極めて敏感です!
## 必要に応じて http://www.yamllint.com/ でこのファイルを検証してください

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
## Lets Encrypt (https) を追加したい場合は、以下の 2 行のコメントを外してください
  - "templates/web.ssl.template.yml"
  - "templates/web.letsencrypt.ssl.template.yml"
 
## このコンテナが公開すべき TCP/IP ポートはどれですか?
## Discourse を Apache や nginx などの別のウェブサーバーとポートを共有させたい場合は、
## https://meta.discourse.org/t/17247 を参照してください
expose:
  - "80:80"   # http
  - "443:443" # https

params:
  db_default_text_search_config: "pg_catalog.english"

  ## db_shared_buffers を総メモリの最大 25% に設定します。
  ## ブートストラップが検出した RAM に基づいて自動設定されますが、上書きすることも可能です
  db_shared_buffers: "128MB"
  
  ## ソートパフォーマンスを向上させる可能性がありますが、接続ごとのメモリ使用量が増加します
  #db_work_mem: "40MB"
  
  ## このコンテナで使用する Git リビジョンはどれですか?(デフォルト: tests-passed)
  #version: tests-passed

env:
  LANG: en_US.UTF-8
  # DISCOURSE_DEFAULT_LOCALE: en

  ## 同時にサポートされるウェブリクエストの数はいくつですか?メモリと CPU コア数に依存します。
  ## ブートストラップが検出した CPU に基づいて自動設定されますが、上書きすることも可能です
  UNICORN_WORKERS: 2

  ## TODO: この Discourse インスタンスが応答するドメイン名
  DISCOURSE_HOSTNAME: old-domain.com
  
  ## 上記で指定したホスト名と同じ (-h オプション) でコンテナを起動したい場合は、コメントを外してください
  #DOCKER_USE_HOSTNAME: true

  ## TODO: 初期登録時に管理者および開発者として設定されるメールアドレスのリスト(カンマ区切り)
  ## 例: 'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: 'admin@old-domain.com'

  ## TODO: 新規アカウントの検証や通知送信に使用する SMTP メールサーバー
  DISCOURSE_SMTP_ADDRESS: smtp.sparkpostmail.com
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: SMTP_Injection
  DISCOURSE_SMTP_PASSWORD: "xxxxxxxxxxxxxxxxxxxx"
  #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (オプション、デフォルトは true)
  
  ## Lets Encrypt テンプレートを追加した場合は、以下のコメントを外して無料の SSL 証明書を取得してください
  LETSENCRYPT_ACCOUNT_EMAIL: tempemail@temp.com

  ## この Discourse インスタンスの CDN アドレス(取得用に設定)
  ## 詳細は https://meta.discourse.org/t/14857 を参照してください
  #DISCOURSE_CDN_URL: //discourse-cdn.example.com

## Docker コンテナはステートレスです。すべてのデータは /shared に保存されます
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

## プラグインはここに記述します
## 詳細は https://meta.discourse.org/t/19157 を参照してください
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/team-melbourne-rgsoc2015/discourse-adplugin.git
         
  after_web_config:
    - replace:
        filename: /etc/nginx/nginx.conf
        from: /sendfile.+on;/
        to: |
          server_names_hash_bucket_size 64;
          sendfile on;
    - file:
        path: /etc/nginx/conf.d/discourse_redirect_1.conf
        contents: |
          server {
            listen 80;
            server_name old-domain.com;
            return 301 $scheme://new-domain.com$request_uri;
          }

 after_ssl:
    - replace:
        filename: "/etc/runit/1.d/letsencrypt"
        from: /--keylength/
        to: "-d old-domain.com -d new-domain.com --keylength"

    
## ビルド後に実行する任意のカスタムコマンド
run:
  - exec: echo "Beginning of custom commands"
  ## 最初の登録時の 'From' メールアドレスを設定したい場合は、以下のコメントを外して変更してください
  ## 最初のサインアップメールを受け取った後、再度コメントアウトしてください。一度だけ実行すれば十分です
  #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
  - exec: echo "End of custom commands"

正常な再構築後に確認しましたが、転送なしでただ読み込まれるだけです。コードに何が問題でしょうか?

注:ファイル「discourse_redirect_1.conf」は事前に作成されていませんでした。作成しておくべきでしょうか?

後続の web 設定セクションは削除できると思います。それなしでもリダイレクトが機能するはずです。

そのコードが動作していた頃以降、nginx 設定に変更があり、現在はすべてを Discourse ホスト名へリダイレクトするようになっていると思われます。

「いいね!」 1