This distribution is not configured to allow the HTTP request method that was used for this request. The distribution supports only cachable requests.
J'ai configuré le site Web pour accepter uniquement https sur Amazon cloudfront. En un mot, vous avez un formulaire de connexion php, et une fois la connexion réussie, il redirige l'utilisateur comme suit:
if(isset($_POST['login'])){
[...]
echo "<script>window.open('coursePayment.php?crs_id=$crs_id','_self')</script>";
ci-dessous est le formulaire:
<form style="margin-top:-20px" method='post' action='' class='form-horizontal' role='form'>
<input type="hidden" id="couponCodeLogin" name="couponCodeLogin">
<input type="hidden" id="couponCodeLoginAmount" name="couponCodeLoginAmount">
<br><br>
<div class="group">
<input type='text' class='form-control' name='email' required>
<span class="highlight"></span>
<span class="bar"></span>
<label>Email</label>
</div>
<div class="group">
<input type='password' class='form-control' name='pass' required>
<span class="highlight"></span>
<span class="bar"></span>
<label>Password</label>
</div>
<h5 style="color:#FF6400; cursor:context-menu; margin-top:0px" class="displayForgotPassword">Forgot your password? Click here to retrieve it.</h5><br>
<input type='submit' id='moreInfoButton' name='login' value='Continue' class='btn btn-danger'>
</form>
Ce que l'erreur essaie de vous dire, c'est que vous ne pouvez pas utiliser POST. Aller à deviner que cacheable signifie GET dans ce contexte. Vous devez aller de l'avant et configurer le cloud front pour autoriser les "requêtes de téléchargement" comme POST, PUT, etc. Dans ce cas, la requête ira à l'origine utilisée par Cloudfront.
Documents AWS: http://docs.aws.Amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-creating.html
Recherchez les méthodes HTTP autorisées dans le dernier lien.
Cette erreur se produit car CloudFront n'est pas configuré pour accepter une demande HTTP envoyée (comme POST
ou PATCH
).
Pour y remédier, modifiez vos paramètres de distribution CloudFront pour accepter toutes les méthodes HTTP.
Pour ce faire, cliquez sur l'onglet Behaviors
de votre distribution CloudFront, sélectionnez le comportement par défaut, cliquez sur Edit
, modifiez le Allowed HTTP Methods
à GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE
, puis clique Yes, Edit
en bas à droite pour enregistrer vos modifications.
La diffusion de vos modifications peut prendre plusieurs minutes à votre distribution CloudFront.