Notes d’accélération nationale de Vercel après le déploiement de Next.js
Next.js 项目部署到 Vercel 后国内访问拉胯,绑域名并把解析指向 cname-china.vercel-dns.com 一招搞定加速,附前后对比。
Cause : Le déploiement s’est bien déroulé, mais il n’a pas pu être ouvert en Chine.
Ce site est écrit en Next.js et poussé vers Vercel. Il crée, signe automatiquement les certificats et distribue automatiquement les nœuds périphériques globaux. L’ensemble du processus est si fluide que vous n’avez rien à redire. Lorsque vous l’ouvrez à l’étranger, vous pouvez l’ouvrir en quelques secondes et profiter d’une expérience complète.
Mais dès mon retour en Chine, la forme originale a été révélée : le nom de domaine « *.vercel.app » attribué par défaut par Vercel ne peut pas être ouvert en Chine. Soit le DNS ne peut pas être résolu, soit la connexion échouera et expirera. Si vous l’utilisez vous-même, vous pouvez vous connecter avec un agent, mais il s’agit d’un site que d’autres peuvent utiliser, vous ne pouvez donc pas exiger que chaque visiteur apporte une échelle.
La première réaction est donc : Liez votre propre nom de domaine. On peut en effet l’ouvrir après l’avoir noué, mais la vitesse n’est toujours pas confortable. Je dois souvent attendre plusieurs secondes pour que le premier écran apparaisse, et parfois il reste bloqué sur une certaine ressource pendant une demi-journée. Parlons maintenant de l’endroit où se situe le problème.
Quel est le problème ?
Le nom de domaine « *.vercel.app » est « pollué » en Chine, il est donc fondamentalement inutile de l’utiliser directement. Lier votre propre nom de domaine peut contourner ce problème, mais lier votre propre nom de domaine ne suffit pas : la clé dépend de l’endroit où vous la résolvez.
Lorsque Vercel lie un nom de domaine, il vous dira de pointer le CNAME vers « cname.vercel-dns.com » par défaut. Cette adresse utilise le réseau Edge mondial de Vercel. Les nœuds sont principalement situés à l’étranger et les plus proches de la Chine sont Hong Kong, le Japon et Singapour. Les utilisateurs nationaux font souvent des détours pour y accéder, et l’heure de pointe du soir est ridiculement lente. La prestation est la suivante :
- Le premier écran est resté vide pendant plusieurs secondes, mais le code HTML est revenu et les ressources se sont chargées lentement.
- Parfois, il expire directement et le rafraîchit et tout va bien à nouveau. C’est très mystérieux.
- Cela est particulièrement évident sur les réseaux mobiles, mais la 4G/5G ressemble à la 2G.
C’est probablement comme ça. Il est très difficile de déplacer la barre de chargement, et la majeure partie est bloquée :

Traitement : passage à une entrée d’analyse domestique
En fait, Vercel dispose d’une entrée spéciale pour le pays, mais il ne vous le dira pas de manière proactive par défaut. La solution n’est qu’une étape : Pointez le CNAME vers cname-china.vercel-dns.com. Notez qu’il y a une « porcelaine » supplémentaire au milieu.
Opérations spécifiques :
- Lier le nom de domaine dans Vercel : Paramètres du projet → Domaines, remplissez votre propre nom de domaine, Vercel vous demandera d’ajouter un enregistrement CNAME.
- Accédez au fournisseur de services de noms de domaine pour modifier la résolution : recherchez les paramètres de résolution DNS et modifiez la valeur de l’enregistrement CNAME de « cname.vercel-dns.com » par défaut à « cname-china.vercel-dns.com ». Remplissez la fiche d’hôte en fonction de vos besoins, généralement en utilisant
wwwou@. - Attendez qu’il prenne effet : cela prend généralement quelques minutes à une demi-heure pour que le DNS prenne effet. Vercel détecte que la résolution est correcte et émettra automatiquement un certificat HTTPS, et vous pourrez alors y accéder normalement.
Un petit rappel : la possibilité d’ajouter CNAME au nom de domaine racine (c’est-à-dire @) dépend de votre registraire de nom de domaine**. Certains bureaux d’enregistrement ne prennent pas en charge le CNAME direct pour le domaine racine, ils peuvent donc utiliser le sous-domaine « www », puis passer du domaine racine 301 à « www », avec le même effet. La plupart des fournisseurs de services prennent désormais en charge ce que l’on appelle le « carrelage forcé CNAME » (traitant le domaine racine comme un CNAME), et Cloudflare et DNSPod ne posent aucun problème.
Changez simplement ce caractère, de « cname.vercel-dns.com » à « cname-china.vercel-dns.com ».
Effet
Après la modification, la sensation physique est très évidente. Dans le même environnement réseau :
- Le premier écran s’ouvre en quelques secondes, plus besoin d’attendre un écran vide
- Le chargement des ressources est fluide et il n’y a aucune interruption pendant les heures de pointe du soir.
- Peut également être utilisé normalement sur les réseaux mobiles
A titre de comparaison, c’est la suivante, le recto et le verso sont complètement différents :

Pour faire simple, il est passé de « à peine capable de s’ouvrir » à « assez rapide ». La principale différence est que cette entrée « chinoise » dirigera le trafic intérieur vers un nœud plus proche et plus stable, éliminant ainsi le besoin d’un grand cercle de câbles sous-marins.
Résumé
L’ensemble du processus est en réalité très simple, il n’y a pas d’opération avancée, la difficulté est simplement de savoir qu’il existe une telle entrée. Vercel utilise par défaut une adresse de résolution globale, ce qui n’est pas convivial pour les utilisateurs nationaux ; celui avec « Chine » est préparé pour les utilisateurs nationaux.
Donc, si vous déployez également Vercel et ciblez les utilisateurs nationaux, retenez simplement une phrase :
Liez le nom de domaine, puis pointez le CNAME vers « cname-china.vercel-dns.com » et laissez le reste au temps.
De plus, cette solution convient à l’accélération légère des chantiers de petite et moyenne taille. Si le nombre de visites atteint un certain niveau ou si les exigences de vitesse nationales sont très élevées, envisagez d’ajouter un CDN national, mais c’est un autre article.