CloudFront: AccessDenied on /blog/2 and /tags/ #1

Closed
opened 2026-02-01 08:04:29 +00:00 by nakada0907 · 1 comment
Owner

Summary

S3 REST origin + OAC returns AccessDenied for extensionless paths like /blog/2 and /tags/ because S3 does not resolve directory indexes. CloudFront Function currently only appends index.html for trailing slash paths.

Repro

Expected

  • Paths without extension should resolve to /index.html (e.g., /blog/2/index.html, /tags/index.html).

Acceptance Criteria

  • CloudFront Function rewrites extensionless paths to /index.html.
  • /blog/2, /blog/2/, /tags return HTML without AccessDenied.
  • Cache invalidation performed after deployment.
## Summary S3 REST origin + OAC returns AccessDenied for extensionless paths like /blog/2 and /tags/ because S3 does not resolve directory indexes. CloudFront Function currently only appends index.html for trailing slash paths. ## Repro - https://blog.n-daisuke897.com/blog/2 (AccessDenied) - https://blog.n-daisuke897.com/tags (AccessDenied) ## Expected - Paths without extension should resolve to /index.html (e.g., /blog/2/index.html, /tags/index.html). ## Acceptance Criteria - CloudFront Function rewrites extensionless paths to /index.html. - /blog/2, /blog/2/, /tags return HTML without AccessDenied. - Cache invalidation performed after deployment.
Author
Owner

Resolved by CloudFront Function rewrite and cache invalidation.

Resolved by CloudFront Function rewrite and cache invalidation.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: nakada0907/n-daisuke-blog-deployment-source#1
No description provided.