此分发未配置为允许 HTTP 请求

2022-08-30 12:14:05
This distribution is not configured to allow the HTTP request method that was used for this request. The distribution supports only cachable requests. 

我已将网站配置为仅在亚马逊云端上接受https。简而言之,您有一个php登录表单,成功登录后,它会重定向用户,如下所示:

 if(isset($_POST['login'])){

[...]
        echo "<script>window.open('coursePayment.php?crs_id=$crs_id','_self')</script>";

以下是表格:

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

答案 1

发生此错误的原因是 CloudFront 未配置为接受正在发送的 HTTP 请求 (如 或 )。POSTPATCH

要修复此问题,请将 CloudFront 分配设置更改为接受所有 HTTP 方法。

为此,请单击 CloudFront 分配的选项卡,选择默认行为,单击 ,将 更改为 ,然后单击右下角以保存更改。BehaviorsEditAllowed HTTP MethodsGET, HEAD, OPTIONS, PUT, POST, PATCH, DELETEYes, Edit

Change Allowed HTTP Methods in a CloudFront distribution

您的 CloudFront 分配可能需要几分钟时间才能传播更改。


答案 2

该错误试图告诉您的是,您无法使用 POST。在此上下文中,要猜测可缓存意味着 GET。您需要继续配置云前端以允许“上传请求”,如POST,PUT等。在这种情况下,请求将转到 Cloudfront 使用的源。

AWS 文档:http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-creating.html

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-creating-console.html

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html

在最后一个链接中查找允许的 HTTP 方法。


推荐