Maison > interface Web > js tutoriel > le corps du texte

Pourquoi est-ce que je reçois une erreur CORS lorsque mon côté serveur autorise l'origine avec une barre oblique finale ?

Barbara Streisand
Libérer: 2024-11-01 21:10:29
original
690 Les gens l'ont consulté

Why am I getting a CORS error when my server-side allows the origin with a trailing slash?

Pourquoi est-ce que je reçois une erreur CORS même si j'ai autorisé l'origine https://example.com/?

Comprendre les origines CORS

Le partage de ressources cross-origine (CORS) est un mécanisme qui restreint les requêtes cross-originales provenant de sites Web tiers afin de protéger les données sensibles. Une origine est représentée par une combinaison du protocole, du domaine et du port.

Le problème de la barre oblique finale

Le problème clé ici est la présence d'une barre oblique finale dans l'origine autorisée. .

Les origines Web ne contiennent pas de barres obliques finales. Par conséquent, l'origine suivante n'est pas valide :

<code class="text">https://googledocs-clone-sbayrak.netlify.app/</code>
Copier après la connexion

L'origine correcte, sans la barre oblique finale, est :

<code class="text">https://googledocs-clone-sbayrak.netlify.app</code>
Copier après la connexion

Configuration Socket.IO CORS

Dans Socket .IO, vous utilisez le package cors Node.js pour la gestion CORS. Ce package nécessite une correspondance exacte entre l'origine de la requête et la valeur d'origine configurée dans les paramètres CORS. Avec une barre oblique finale dans l'origine, la comparaison échoue et aucun en-tête Access-Control-Allow-Origin n'est défini dans la réponse.

Votre code côté serveur

Votre fichier server.js a Middleware CORS configuré comme suit :

<code class="javascript">const io = socketio(server, {
  cors: {
    origin: 'https://googledocs-clone-sbayrak.netlify.app/',
    methods: ['GET', 'POST'],
  },
});</code>
Copier après la connexion

Supprimez la barre oblique finale de la valeur d'origine.

Demande frontale

Dans votre code frontend, le la connexion socket est effectuée à l'adresse suivante :

<code class="javascript">const s = io('https://googledocs-clone-sbayrak.herokuapp.com/');</code>
Copier après la connexion

En utilisant la valeur d'origine correcte sans la barre oblique finale, l'erreur CORS ne devrait plus se produire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!