Maison > interface Web > Questions et réponses frontales > Un article présentant la méthode de paramétrage inter-domaines de Node.js

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

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