vercel/next.js · error

Self-signed certificates are currently an experimental featu

Error message

Self-signed certificates are currently an experimental feature, use with caution.

What it means

runDevServer warns when --experimental-https (self-signed certificate mode) is used: Next.js generates locally-trusted self-signed certs for local HTTPS, which browsers treat as untrusted and which are not production-grade TLS; experimental-use-only notice.

Source

Thrown at packages/next/src/cli/next-dev.ts:486

          }

          // Reset the start time so "Ready in X" reflects the restart
          // duration, not time since the original process started.
          process.env.NEXT_PRIVATE_START_TIME = Date.now().toString()

          return startServer({ ...startServerOptions, port })
        }
        // Call handler (e.g. upload telemetry). Don't try to send a signal to
        // the child, as it has already exited.
        await handleSessionStop(/* signal */ null)
      })
    })
  }

  const runDevServer = async (reboot: boolean) => {
    try {
      if (!!options.experimentalHttps) {
        Log.warn(
          'Self-signed certificates are currently an experimental feature, use with caution.'
        )

        let certificate: SelfSignedCertificate | undefined

        const key = options.experimentalHttpsKey
        const cert = options.experimentalHttpsCert
        const rootCA = options.experimentalHttpsCa

        if (key && cert) {
          certificate = {
            key: path.resolve(key),
            cert: path.resolve(cert),
            rootCA: rootCA ? path.resolve(rootCA) : undefined,
          }
        } else {
          certificate = await createSelfSignedCertificate(host)
        }

View on GitHub (pinned to 0eb3775416)

Solutions

  1. Use a properly signed certificate for production; self-signed certs are experimental for local dev only.
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at packages/next/src/cli/next-dev.ts:486 when the library encounters an invalid state.

Common situations: See trigger scenarios.

Understand the failure class


AI-assisted analysis of vercel/next.js@0eb3775416 (2026-08-19). Data as JSON: /api/errors/789ac8b3945b76ef. Report an issue: GitHub.