Un article présentant la méthode de paramétrage inter-domaines de Node.js

PHPz
Libérer: 2023-04-05 09:43:10
original
2316 Les gens l'ont consulté

Avec le développement d'Internet, la tendance à la séparation du front-end et du back-end devient de plus en plus évidente. Dans le développement de la séparation front-end et back-end, lorsque la page front-end demande l'interface API back-end, cela provoque de nombreux désagréments en raison de problèmes inter-domaines. Cet article présentera la méthode de configuration inter-domaines de Node.js.

1. Qu'est-ce que le cross-domain

1.1 Qu'est-ce que la politique de même origine

Dans le domaine de la sécurité Web, la politique de même origine fait référence à ce qui suit : le protocole, le nom de domaine et le numéro de port doivent être complètement cohérent afin d’accéder à une autre source à partir d’un document source. En termes simples, le JavaScript de la page ne peut lire et exploiter que des documents provenant de la même source que lui.

1.2 Qu'est-ce que le cross-domain ?

Supposons que la page Web sous le nom de domaine A accède aux ressources sous le nom de domaine B via un script. Cette situation est appelée cross-domain.

2. Paramètres Node.js inter-domaines

2.1 Installer le module Cors

Cors est un module Node.js qui permet un accès inter-domaine. Tant que vous l'installez, vous pouvez facilement résoudre les problèmes inter-domaines.

npm install cors

2.2 Utilisation du module Cors dans Node.js

Dans le framework Express, l'utilisation directe de cors peut résoudre des problèmes inter-domaines.

const express = require('express');
const cors = require('cors');
const app = express();
app.use(cors());
Copier après la connexion

Le code ci-dessus activera CORS pour toutes les routes du projet. Si vous souhaitez l'activer uniquement dans une route spécifique, vous pouvez utiliser le code suivant :

const express = require('express');
const cors = require('cors');
const app = express();
const router = express.Router();

const corsOptions = {
    origin: 'http://example.com', // 允许访问的域名
    optionsSuccessStatus: 200 // some legacy browsers (IE11, various SmartTVs) choke on 204
};

router.get('/', cors(corsOptions), function(req, res) {
    //...
});

app.use('/', router);
Copier après la connexion

2.3 Paramètres inter-domaines personnalisés

Si vous en voulez plus. paramètres inter-domaines détaillés, vous pouvez personnaliser à l’aide de diverses options de cors. Voici quelques options couramment utilisées :

const corsOptions = {
    origin: 'http://example.com', // String: 允许访问的域名,可以是字符串或正则表达式
    methods: ['GET', 'POST'], // Array: 允许的HTTP请求方法
    allowedHeaders: ['Content-Type'], // Array: 允许使用的自定义Header
    exposedHeaders: ['Content-Type'], // Array: 允许客户端访问的响应头
    credentials: true, // Boolean: 是否发送Cookies
    maxAge: 86400 // Number: 预检请求缓存时间,单位秒
};
app.use(cors(corsOptions));
Copier après la connexion

3. Résumé

Node.js fournit le module cors, qui peut facilement résoudre les problèmes inter-domaines. Dans le framework Express, CORS peut être activé avec une seule ligne de code. Dans le même temps, les paramètres inter-domaines peuvent également être personnalisés pour répondre à des besoins plus flexibles.

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
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!