このディストリビューションはHTTPリクエストを許可するように構成されていません質問する

このディストリビューションはHTTPリクエストを許可するように構成されていません質問する
This distribution is not configured to allow the HTTP request method that was used for this request. The distribution supports only cachable requests. 

Amazon CloudFront で https のみを受け入れるように Web サイトを構成しました。簡単に言うと、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 リクエスト (またはPOSTなどPATCH) を受け入れるように設定されていないために発生します。

これを修正するには、すべての HTTP メソッドを受け入れるように CloudFront ディストリビューション設定を変更します。

これを行うには、BehaviorsCloudFront ディストリビューションのタブをクリックし、デフォルトの動作を選択して をクリックし、を にEdit変更してから、右下の をクリックして変更を保存します。Allowed HTTP MethodsGET, HEAD, OPTIONS, PUT, POST, PATCH, DELETEYes, Edit

CloudFront ディストリビューションで許可される HTTP メソッドを変更する

CloudFront ディストリビューションに変更が反映されるまでに数分かかる場合があります。

おすすめ記事