S3 integrated HTTP Gatway for static web-hosting #111

Open
opened 2024-05-03 12:16:57 +00:00 by alexvanin · 0 comments
Owner

This is a draft, more details will be available later in the comments.

Description

S3 protocol supports static web-hosting based on the object in specific bucket. Objects represent assets and web-pages. FrostFS stack should provide a way to configure and distribute static web-pages.

To configure static web-pages, S3 gateway must define configuration scheme and implement:

httpv2.svg
source

Key difference with current implementation of HTTP Gateway

  • Read-only mode
  • Virtual hosted style URLs for buckets
  • No /get/ to access data
  • Support web-server features:
    • custom index and error pages,
    • routing settings: redirects and rewrites .

Alternatives

Implement HTTP server inside S3 Gateway

AWS provides separate endpoint for static web-hosting and highlights security diversion between services, so it makes sense to split it in FrostFS too.

Fork HTTP gateway and implement web-hosting mechanism as separate service

Still a viable option.

This is a draft, more details will be available later in the comments. ## Description S3 protocol supports static [web-hosting](https://docs.aws.amazon.com/AmazonS3/latest/userguide/HostingWebsiteOnS3Setup.html) based on the object in specific bucket. Objects represent assets and web-pages. FrostFS stack should provide a way to configure and distribute static web-pages. To configure static web-pages, S3 gateway must define configuration scheme and implement: - [GetBucketWebsite](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketWebsite.html) - [DeleteBucketWebsite](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketWebsite.html) - [PutBucketWebsite](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketWebsite.html) ![httpv2.svg](/attachments/905c13bd-f0f7-4ef3-8373-a8acd4ef6b03) [source](http://www.plantuml.com/plantuml/uml/TP1HJy8m4CVV-obEdaPYHXJKn1Y3Wk23SOkC69-MhJkakBMalOB4-Dqjj254iIzDx_VB_Q_NDrHeiatDJeJajQqGRdYlC-Zb0oMf419rl7JuzWXlbagYfC3PqzrRCitoB4dpOVBw7BKPcsmCOPFVAokhGc-YsSoSGckabQ7H11wuCZkXrOOl1kxiUqPpegLJ7xCiXN51k2ushVOlntITCUd-nuTbfCg5Kv9oWPp0e5u9ZaSqqeZEoznrO7sp5BLHChAEJLtTrTWBrjltBleiXjGI25dXPpodfdR28UzwliRI24BWIix4Ut2sGeZjUUtZUdN0_EJd7gdT1ppDfzl-OJqNCOoHeFDd1Cz3mAMtVC2UXeWh3_SHVPILRUeV) ## Key difference with current implementation of HTTP Gateway - Read-only mode - Virtual hosted style URLs for buckets - No `/get/` to access data - Support web-server features: - custom index and error pages, - routing settings: redirects and rewrites . ## Alternatives ### Implement HTTP server inside S3 Gateway AWS provides separate endpoint for static web-hosting and highlights [security diversion](https://docs.aws.amazon.com/AmazonS3/latest/userguide/WebsiteEndpoints.html) between services, so it makes sense to split it in FrostFS too. ### Fork HTTP gateway and implement web-hosting mechanism as separate service Still a viable option.
r.loginov was assigned by alexvanin 2024-08-30 07:49:47 +00:00
Sign in to join this conversation.
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: TrueCloudLab/frostfs-http-gw#111
No description provided.