1回答
- 新しい順
- 投票が多い順
- コメントが多い順
0
CloudFront を使用して Amazon S3 でホストされている静的ウェブサイトを提供している場合に、パス /soap へアクセスすると 200 レスポンスが返却されるのは、S3 バケットが SOAP API をサポートしているためです。
S3 オブジェクトキー名が soap もしくはプレフィックスが soap/ の場合、 S3 の SOAP API がトリガーされます。 このとき、 S3 はリクエストされた SOAP アクションの実施を試みますが、GET リクエストは空のリクエストボディであるため SOAP 命令は含まれません。 そのため S3 より空のレスポンスボディと成功ステータスコード(200)が返却されます。
もし当該パスへのリクエストに対し 403 エラーを返す必要がある場合、WAF や Lambda@Edge を使用して当該パスへのリクエストを検知し、CloudFront 側で S3 オリジンにリクエストを行う前にエラーを返す方法が考えられます。 WAF や Lambda@Edge については、以下のドキュメントをご参照ください。
回答済み 1ヶ月前