Skip to content

[Bug]: Socket.IO server intercepts Strapi Transfer WebSocket upgrade, causing 504 on proxied host DigitalOcean App Platform) #112

@otemu

Description

@otemu

What issue are you experiencing?

When strapi-plugin-io is enabled on a reverse-proxied host DigitalOcean App Platform, running strapi transfer --to <remote> fails immediately with:

[FATAL] Failed to initialize the connection: Unexpected server response 504

Disabling the plugin (enabled: false) allows the transfer to complete successfully every time, confirming plugin-io is the source of the conflict.

Suspected cause: engine.io attaches a raw upgrade event listener directly to the underlying HTTP server. On a reverse-proxied host this listener appears to intercept WebSocket upgrade requests destined for Strapi's transfer endpoint (/admin/transfer/runner/push) before they can be handled, returning an unexpected response that the proxy surfaces as a 504.

Steps To Reproduce

  1. Deploy a Strapi v5 app with strapi-plugin-io enabled to DigitalOcean App Platform
  2. Run: yarn strapi transfer --to https://<your-app>.ondigitalocean.app/admin --exclude files
  3. See error: [FATAL] Failed to initialize the connection: Unexpected server response 504
  4. Set enabled: false on the plugin and repeat step 2 — transfer completes successfully

What version of the plugin are you using?

5.8.2

What strapi version are you using?

5.45.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions