Par défaut, l'en-tête Host des requêtes envoyées à l'origine par le CDN correspond au nom de domaine accéléré. Cette fonctionnalité vous permet de personnaliser la valeur de cet en-tête Host pour ces requêtes.
À propos des hôtes d'origine par défaut
Si vous diffusez différentes ressources statiques depuis plusieurs noms de domaine accélérés, une approche courante consiste à configurer un serveur d'origine distinct pour chaque domaine.
Toutefois, la maintenance de plusieurs serveurs s'avère inefficace, en particulier pour les noms de domaine accélérés générant un faible trafic vers l'origine. Vous pouvez résoudre ce problème en utilisant l'hébergement virtuel.
Hébergement virtuel
L'hébergement virtuel permet à un seul serveur web d'héberger plusieurs sites web. Le serveur distingue et isole les sites en utilisant différents noms de domaine ou noms d'hôte. Lorsqu'un utilisateur demande un nom de domaine ou un nom d'hôte spécifique, le serveur achemine la requête vers le site virtuel correspondant et renvoie le contenu adéquat.
Implémentation Nginx
Nginx utilise des blocs server pour configurer plusieurs sites virtuels. L'exemple suivant présente une configuration de base :
server {
listen 80;
server_name example.org www.example.org;
...
}
server {
listen 80;
server_name example.net www.example.net;
...
}
server {
listen 80;
server_name example.com www.example.com;
...
}
Cette configuration définit trois sites virtuels : example.org, example.net et example.com. Nginx fait correspondre l'en-tête Host avec le paramètre server_name afin de sélectionner le site virtuel approprié. Si aucune correspondance n'est trouvée, Nginx sert le contenu du site virtuel par défaut. Si aucun site par défaut n'est explicitement configuré, le premier bloc server devient le site par défaut.
Hôte d'origine par défaut
Lorsque vous accédez à une URL, si l'en-tête Host n'est pas spécifié, l'en-tête Host de la requête prend par défaut la valeur de l'hôte et du port de l'URL. Le CDN remplace cette valeur par défaut en définissant l'en-tête Host sur le nom de domaine accéléré. Vous pouvez personnaliser cette valeur par défaut en fonction de la configuration d'hébergement virtuel de votre serveur d'origine.
Le serveur d'origine doit être configuré pour utiliser l'en-tête Host afin d'acheminer les requêtes vers différents sites virtuels. Dans le cas contraire, cette fonctionnalité ne fonctionnera pas correctement.
Lorsque votre serveur d'origine utilise le protocole HTTPS, en plus de configurer l'hôte d'origine par défaut, vous devez généralement également configurer l'option Default Origin SNI. Si l'hôte d'origine et le SNI d'origine sont configurés de manière incohérente (par exemple, si HOST est défini sur le nom de domaine d'origine tandis que SNI est défini sur le nom de domaine accéléré), des échecs de handshake SSL ou des erreurs sur le serveur d'origine peuvent survenir. Nous vous recommandons de définir l'hôte d'origine et le SNI d'origine avec le même nom de domaine (généralement le nom de domaine d'origine ou le nom de domaine accéléré, qui doit correspondre au certificat du serveur d'origine et à la configuration de l'hôte virtuel). Sur la page Origin Fetch de la console, les options Origin Host et Default Origin SNI constituent deux éléments de configuration distincts. Vous devez cliquer sur Modify pour chaque élément séparément afin de le configurer.
Procédure
Connectez-vous à la console CDN.
Dans le volet de navigation de gauche, sélectionnez Domain Names.
Dans la liste des noms de domaine, sélectionnez le nom de domaine cible.
Cliquez sur l'onglet Origin Fetch.
Dans la section Origin Host, cliquez sur Modify.
Activez l'interrupteur Origin Host et sélectionnez un Domain Type.
|
Domain Type |
Description |
|
CDN Domain |
Définit l'hôte d'origine sur le nom de domaine accéléré. |
|
Origin Domain |
Définit l'hôte d'origine sur le nom de domaine du serveur d'origine. Si le serveur d'origine est spécifié par une adresse IP, cette option est grisée et indisponible. Si le serveur d'origine est un domaine OSS, la fonctionnalité est automatiquement activée et l'Origin Host est défini sur Origin Domain. |
|
Custom Domain |
Définit l'hôte d'origine sur un domaine personnalisé que vous spécifiez. Assurez-vous que le nom de domaine personnalisé est lié à votre serveur d'origine. Dans le cas contraire, les requêtes vers l'origine échoueront. Utilisez cette option si votre serveur d'origine est lié à plusieurs noms de domaine et que vous devez récupérer des ressources depuis un domaine spécifique. |
Lorsque votre serveur d'origine utilise le protocole HTTPS, vous devez également configurer l'option Default Origin SNI sur la même page Origin Fetch. Nous vous recommandons de définir l'option Origin Host et l'option Default Origin SNI avec le même nom de domaine (généralement le nom de domaine d'origine) afin d'éviter les échecs de handshake SSL ou les rejets par le serveur d'origine. Par exemple, si l'option Origin Host est définie sur le nom de domaine d'origine mais que l'option Default Origin SNI est définie sur le nom de domaine accéléré, la vérification du certificat du serveur d'origine peut échouer. Dans la console, les options Origin Host et Default Origin SNI sont deux éléments de configuration distincts sur la même page Origin Fetch, et chacun se configure via son propre bouton Modify.
Cliquez sur OK.
Exemples de configuration
Exemple 1 : Le serveur d'origine est spécifié par un nom de domaine
Par défaut, cette fonctionnalité est désactivée. Vous pouvez l'activer manuellement.
Configuration :
Nom de domaine accéléré :
image.example.comAdresse du serveur d'origine :
source.example.com
Chaque type de domaine se comporte comme suit :
CDN Domain : Lorsque le CDN effectue une requête vers l'origine, il récupère les ressources depuis le site virtuel
image.example.comsur le serveur d'originesource.example.com.Origin Domain : Lorsque le CDN effectue une requête vers l'origine, il récupère les ressources depuis
source.example.com.Custom Domain : L'hôte d'origine correspond au nom de domaine personnalisé que vous avez saisi.
Exemple 2 : Le serveur d'origine est spécifié par une adresse IP
Par défaut, cette fonctionnalité est désactivée. Vous pouvez l'activer manuellement.
Configuration :
Nom de domaine accéléré :
example.comAdresse du serveur d'origine :
10.10.10.10
Chaque type de domaine se comporte comme suit :
CDN Domain : Lorsque le CDN effectue une requête vers l'origine, il récupère les ressources depuis le site virtuel pour
example.comsur l'hôte10.10.10.10.Origin Domain : Lorsque le serveur d'origine est spécifié par une adresse IP, cette option est grisée et ne peut pas être sélectionnée.
Custom Domain : Lorsque le CDN effectue une requête vers l'origine, il récupère les ressources depuis le site virtuel du domaine personnalisé sur l'hôte
10.10.10.10.
Exemple 3 : Le serveur d'origine est un domaine OSS
Configuration :
Nom de domaine accéléré :
example.comAdresse du serveur d'origine :
example.oss-cn-hangzhou.aliyuncs.com
Lorsque le serveur d'origine est un domaine OSS, le CDN active automatiquement la fonctionnalité et définit l'Origin Host sur Origin Domain. Chaque type de domaine se comporte comme suit :
CDN Domain : Lorsque le CDN effectue une requête vers l'origine, il récupère les ressources depuis le site
example.comsur le domaine OSSexample.oss-cn-hangzhou.aliyuncs.com.Origin Domain : Lorsque le CDN effectue une requête vers l'origine, il récupère les ressources depuis le domaine OSS
example.oss-cn-hangzhou.aliyuncs.com.Custom Domain : Lorsque le CDN effectue une requête vers l'origine, il récupère les ressources depuis le site virtuel du domaine personnalisé sur votre site
example.oss-cn-hangzhou.aliyuncs.com.
FAQ
Pour savoir comment résoudre les erreurs 404, 500, 502 et 403, ainsi que les problèmes ERR_TOO_MANY_REDIRECTS et les échecs de redirection de page après avoir configuré l'hôte d'origine, consultez la rubrique Dépannage des requêtes vers l'origine.