-
Notifications
You must be signed in to change notification settings - Fork 10
Public static web site
Amy Farrell edited this page Dec 30, 2024
·
3 revisions
Part of USAGov Architecture patterns
www.usa.gov, or "www," is a static web site behind a CDN. (The dev environment lacks the CDN, because the dev servers reject traffic from outside the GSA network.)
C4Context
title Public static website
Boundary(internet, "Internet", "the web") {
Person(publicUser, "Public web user")
System(ExtSvc, "external service", "examples include GA, tag manager, chat")
Boundary(cloud_gov_boundary, "Cloud.gov", "") {
System(CDN, "CloudFront CDN (except in Dev)", "cache, distribution")
Boundary(usagov_boundary, "USAgov org boundary", "") {
Container(www_app, "WWW", "nginx", "reverse proxy", "")
ContainerDb(s3_storage, "S3 storage", "static web assets")
}
}
}
Rel(publicUser, CDN, "HTTPS", "GET,HEAD")
Rel(CDN, www_app, "HTTPS")
Rel(www_app, s3_storage, "HTTPS", "GET,HEAD")
Rel(publicUser, ExtSvc, "HTTPS", "fetch/xhr")
UpdateElementStyle(s3_storage, $bgColor="yellow", $fontColor="black")
- nginx
- s6 overlay (process supervision)
Nginx configuration handles retrieving the s3 objects to serve web requests, serving language-specific 404 pages, normalizing paths, and many internal redirects.
- S3 storage is the same as the S3 storage used by the Drupal CMS app. The CMS app writes to this S3 bucket and the WWW app reads from it.
- The WAF app sits between the public internet and the WWW app.
- A log drain connects the WWW app to the Log shipper.