engineering

1 min read

How to fix Sentry tunnel HTTP 405 error

Written By

QI

Qing

Creator, Quotion

Published on

1/27/2024

sentry-welcome-meta-img-aa40135577a256e0e78aaf4b24946082_fd56f8

TLDR

Just add /tunnel or /monitoring routes to your Next.js middleware matcher ignored list, these routes should be rewritten to Sentry’s service, don’t need to be handled by your Next.js middleware.

Sentry is a popular service used to monitor product errors, which Quotion is also using.
I build Quotion with Vercel Platforms Starter Kit, and Sentry works well with this shiny new technology. However, we encountered an HTTP 405 error on our production, like this:

CleanShot 2024-01-27 at 11.43.18@2x_bb9d22

I checked the Sentry docs, but nothing helped. One day, while searching for something inside the Next.js build output folder .next, I found that the Sentry /tunnel API is being used for rewriting to Sentry's API:

CleanShot 2024-01-27 at 11.46.24@2x_6fc135

That's when I realized why this 405 error was occurring. Vercel Platforms Starter Kit rewrites almost everything to subfolders to create a multi-tenancy platform. Therefore, we need to bypass this special /tunnel API in the Next.js middleware. Based on my middleware matcher configuration, I only need to change the Sentry configuration to **/api/tunnel**. For example, this is my middleware configuration:

export const config = {
  matcher: [
    /*
     * Match all paths except for:
     * 1. /api/ routes
     * 2. /_next/ (Next.js internals)
     * 3. /images/ (static images)`
     * 4. /_static (inside /public)
     * 5. /_vercel (Vercel internals)
     * 6. all root files inside /public (e.g. /favicon.ico)
     */
    '/((?!api/|_next/|images/|_static|_vercel|[\\w-]+\\.\\w+).*)',
  ],
};

If you don't want to change the Sentry configuration, you can also add your Sentry API to the matcher RegExp:

export const config = {
  matcher: [
    //         👇
    '/((?!api/|tunnel|_next/|images/|_static|_vercel|[\\w-]+\\.\\w+).*)',
  ],
};

engineering

nextjs

Create your blogs directly from Apple Notes.

Say goodbye to complex CMS updates and management issues!

You focus on creating quality content while Quotion takes care of the rest.

Latest

More from the blog