reactで作成されたSPAをリソースをS3に配置してAWS CloudFront経由で配信しています。
SPAをS3で配信する場合、cloudFrontの設定で404エラー時のカスタムエラーレスポンスでindex.htmlをレスポンスコード200にて指定することが一般的かと思います
https://dev.classmethod.jp/articles/s3-cloudfront-spa-angular-403-access-denied/
(リンクは403エラーですが、権限が足りていれば404エラーになる為、404エラー時の設定を実施)
上記設定を行うと、SPAとして本当に404を返したい場合にレスポンスコード200で返ってしまいます
どうにか404でレスポンスを返したのですが、簡単に設定できる方法はありますでしょうか?
現状案としては以下です
a:別でもう一つCloudFrontを作成し、reactの404ページではそこに向けてリクエストをリダイレクトする。もう一つのcloudFrontではカスタムエラーレスポンスでerror用のhtmlとレスポンスコード404を指定する
b(実現可能か不明):S3の設定でそのオブジェクトを返す時のデフォルトレスポンスコードの様なものが設定できればそこで404を設定し、reactからはそのオブジェクトURLへリダイレクトする
似たような事象にはまって解決したような記事でもあれば良いのですが、あまり見つからず。参考情報などいただけると幸いです
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。