Skip to content

Nuxt DevTools causes 404 error on custom HTTPS domain #925

@chrisnoden

Description

@chrisnoden

Environment

  • Nuxt: 4.2.2
  • Node: v22.x
  • OS: macOS
  • Custom domain: https://custom.domain.local:3000 (local HTTPS with self-signed certificate)

Reproduction

Setup

npx nuxi init devtools-https-bug
cd devtools-https-bug
npm install

Generate local certificates

# Using mkcert (recommended)
mkcert -install
mkcert custom.domain.local

Configure nuxt.config.ts

export default defineNuxtConfig({
  compatibilityDate: '2024-04-03',
  devtools: { enabled: true },
  devServer: {
    https: {
      key: './custom.domain.local-key.pem',
      cert: './custom.domain.local.pem',
    },
  },
})

Add hosts entry

# Add to /etc/hosts (macOS/Linux) or C:\Windows\System32\drivers\etc\hosts (Windows)
127.0.0.1 custom.domain.local

Development Server

Start the development server:

npm run dev

Open https://custom.domain.local:3000 in the browser.

Describe the bug

When running the Nuxt dev server on a custom HTTPS domain (not localhost), DevTools causes repeated 404 errors in the terminal and a cross-origin error in the browser console.

Terminal error:

ERROR  [request error] [unhandled] [GET] https://custom.domain.local:3000/_nuxt/

ℹ Error: 
 ⁃ at createError (node_modules/@nuxt/cli/dist/dev-KB30iboK.mjs:54:14)
 ⁃ at NuxtDevServer.toNodeHandle (node_modules/@nuxt/cli/dist/dev-KB30iboK.mjs:264:18)

[CAUSE]
{
  status: 404,
}

Browser console error:

SecurityError: Failed to read a named property '__NUXT_DEVTOOLS_VIEW__' from 'Window': Blocked a frame with origin "https://custom.domain.local:3000" from accessing a cross-origin frame.
    at client.js?v=81bfbde2:136:13

Additional context

Expected behavior

DevTools should work without errors on custom HTTPS domains.

Actual behavior

  • Terminal shows repeated /_nuxt/ 404 errors from NuxtDevServer.toNodeHandle
  • Browser console shows cross-origin SecurityError for __NUXT_DEVTOOLS_VIEW__
  • DevTools panel fails to load properly

Workaround

Disabling DevTools eliminates the errors:

devtools: { enabled: false },

Additional context

Logs

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