Je peux utiliser mon application à partir d'un serveur d'origine personnalisé (instance EC2 ou un équilibreur de charge), mais pas sur CloudFront. Pourquoi?

Lecture de 4 minute(s)
0

J'utilise une instance Amazon Elastic Compute Cloud (Amazon EC2) ou un équilibreur de charge en tant qu'origine personnalisée pour mon site Web ou application. Je peux me connecter directement au serveur d'origine personnalisé, mais je ne peux pas obtenir le même contenu depuis Amazon CloudFront, ou CloudFront renvoie une erreur. Comment puis-je résoudre ce problème ?

Solution

Essayez les étapes de dépannage suivantes :

Identifier la réponse à l'erreur

Identifiez les en-têtes de réponses HTTP renvoyées par CloudFront en passant en revue l'onglet Network (Réseau) dans les outils développeur de votre navigateur. Vous pouvez utiliser un utilitaire comme cURL.

Si vous recevez une réponse avec le code de statut HTTP 502 (Bad Geteway [Passerelle incorrecte]), le problème est probablement dû à la connexion SSL entre CloudFront et le serveur d'origine. Pour plus d'informations sur les instructions de dépannage, consultez la section Code de statut HTTP 502 (Bad Gateway [Passerelle incorrecte]).

Si vous recevez une réponse avec le code de statut HTTP 504 (Gateway Timeout [Expiration du délai pour la passerelle]), le problème est probablement dû aux configurations d'accès des groupes de sécurité ou du pare-feu. Pour plus d'informations sur les instructions de résolution du problème, consultez la section Code de statut HTTP 504 (Gateway Timeout [Expiration du délai pour la passerelle]).

Vérifier le transfert basé sur les en-têtes de requête, les cookies ou les chaînes de requête

Si votre application nécessite des en-têtes de requête, cookies ou chaînes d'interrogation en particulier, mettez à jour les comportements du cache de votre distribution pour transférer les paramètres requis au serveur d'origine. CloudFront ne peut pas transférer les paramètres requis dans les paramètres par défaut.

Pour en savoir plus, consultez Mise en cache de contenu d'après des cookies, Mise en cache de contenu d'après des paramètres de chaîne de requête et Mise en cache de contenu d'après des en-têtes de requêtes.

Vérifier les méthodes HTTP autorisées

Par défaut, CloudFront autorise uniquement les méthodes GET et HEAD HTTP. Si vous exécutez une application sur votre serveur d'origine et que vous accédez à votre application via CloudFront, consultez les méthodes HTTP requises pour les appels à votre application. Ces méthodes HTTP doivent également être autorisées sur votre distribution. Par exemple, si vous exécutez une application pour envoyer un formulaire, il vous faudra peut-être autoriser la méthode POST sur votre distribution. Pour obtenir des instructions relatives à la modification des méthodes HTTP autorisées sur votre distribution, consultez Méthodes HTTP autorisées.

Résoudre les problèmes SSL entre le client et CloudFront

Si vous ne pouvez pas accéder à votre site Web ou votre application via CloudFront en raison de problèmes SSL, consultez la section Pour quelle raison CloudFront ne diffuse-t-il pas mon nom de domaine via le protocole HTTPS ?

Résoudre les problèmes de redirection constante

Si vous observez une redirection constante lorsque vous essayez de charger votre site Web ou votre application via CloudFront, vérifiez la configuration du serveur d'origine sur CloudFront. Vérifiez également la stratégie de redirection du serveur d'origine.

Dans un flux de travail classique, un client se connecte à CloudFront, puis CloudFront se connecte au serveur d'origine. La stratégie de protocole d'origine de votre distribution et la stratégie de redirection du serveur d'origine doivent être compatibles l'une avec l'autre pour assurer le bon fonctionnement du flux de travail.

Par exemple, si votre serveur d'origine redirige toutes les requêtes HTTP vers HTTPS, et que la stratégie de protocole du serveur d'origine de votre distribution est définie sur HTTP, les requêtes sont envoyées en boucle. Dans ce scénario, si le client envoie la requête http://d12345.cloudfront.net/example.image, CloudFront envoie une requête au serveur d'origine pour obtenir le contenu sur HTTP. La requête est envoyée sur le serveur d'origine qui redirige ensuite la requête de HTTP à HTTPS. La requête est réacheminée vers CloudFront à l'aide du protocole HTTPS, puis CloudFront envoie une requête au serveur d'origine à l'aide du protocole HTTP, ce qui redémarre la boucle de la requête.

Pour résoudre ce problème de redirection constante, utilisez l'une des configurations suivantes :

  • Modifiez la stratégie de protocole d'origine de votre distribution CloudFront pour utiliser uniquement le protocole HTTPS. Cette solution nécessite que votre serveur d'origine personnalisé dispose d'un certificat SSL valide installé.
  • Si aucun certificat SSL valide n'est installé sur votre serveur d'origine, vous pouvez supprimer la stratégie de redirection. Ensuite, vous pouvez configurer le serveur d'origine afin que celui-ci accepte les requêtes HTTP.
    Avertissement : Les requêtes HTTP ne sont pas recommandées pour les informations sensibles, car la communication est en texte brut.

Informations connexes

Utilisation d'Amazon EC2 ou d'autres origines personnalisées

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 2 ans