Skip to content

Commit

Permalink
fix(cloudfront): finally working origin on frontend
Browse files Browse the repository at this point in the history
  • Loading branch information
aleksasiriski committed Jun 20, 2024
1 parent 31f66d5 commit cbaecaa
Show file tree
Hide file tree
Showing 6 changed files with 108 additions and 45 deletions.
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
resource "aws_cloudfront_origin_request_policy" "default_origin_request_policy" {
name = "ssr-default-origin-request-policy"

cookies_config {
cookie_behavior = "none"
}

headers_config {
header_behavior = var.header_behavior
headers {
items = var.header_items
}
}

query_strings_config {
query_string_behavior = "all"
}
}

resource "aws_cloudfront_cache_policy" "default_cache_policy" {
name = "api-default-cache-policy"
min_ttl = var.default_cache.min_ttl
Expand All @@ -13,16 +32,9 @@ resource "aws_cloudfront_cache_policy" "default_cache_policy" {
}

headers_config {
header_behavior = "whitelist"
header_behavior = var.header_behavior
headers {
items = [
"Accept",
# "Accept-Encoding", # Already included
"Accept-Language",
"Access-Control-Request-Headers",
"Access-Control-Request-Method",
"Origin",
]
items = var.header_items
}
}

Expand All @@ -49,16 +61,9 @@ resource "aws_cloudfront_cache_policy" "cache_policy" {
}

headers_config {
header_behavior = "whitelist"
header_behavior = var.header_behavior
headers {
items = [
"Accept",
# "Accept-Encoding", # Already included
"Accept-Language",
"Access-Control-Request-Headers",
"Access-Control-Request-Method",
"Origin",
]
items = var.header_items
}
}

Expand Down
16 changes: 16 additions & 0 deletions aws/modules/backend/cloudfront/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,22 @@ variable "cached_methods" {
default = ["HEAD", "GET"]
}

variable "header_behavior" {
type = string
default = "whitelist"
}

variable "header_items" {
type = set(string)
default = [
"Accept",
"Accept-Language",
"Access-Control-Request-Headers",
"Access-Control-Request-Method",
"Origin",
]
}

variable "default_cache" {
type = object({
min_ttl = number
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
resource "aws_cloudfront_origin_request_policy" "default_origin_request_policy" {
name = "ssr-default-origin-request-policy"

cookies_config {
cookie_behavior = "none"
}

headers_config {
header_behavior = var.header_behavior
headers {
items = var.header_items
}
}

query_strings_config {
query_string_behavior = "all"
}
}

resource "aws_cloudfront_cache_policy" "default_cache_policy" {
name = "ssr-default-cache-policy"
min_ttl = var.default_cache.min_ttl
Expand All @@ -13,16 +32,9 @@ resource "aws_cloudfront_cache_policy" "default_cache_policy" {
}

headers_config {
header_behavior = "whitelist"
header_behavior = var.header_behavior
headers {
items = [
"Accept",
# "Accept-Encoding", # Already included
"Accept-Language",
"Access-Control-Request-Headers",
"Access-Control-Request-Method",
"Origin",
]
items = var.header_items
}
}

Expand All @@ -47,16 +59,9 @@ resource "aws_cloudfront_cache_policy" "cache_policy_s3" {
}

headers_config {
header_behavior = "whitelist"
header_behavior = var.header_behavior
headers {
items = [
"Accept",
# "Accept-Encoding", # Already included
"Accept-Language",
"Access-Control-Request-Headers",
"Access-Control-Request-Method",
"Origin",
]
items = var.header_items
}
}

Expand All @@ -83,16 +88,9 @@ resource "aws_cloudfront_cache_policy" "cache_policy" {
}

headers_config {
header_behavior = "whitelist"
header_behavior = var.header_behavior
headers {
items = [
"Accept",
# "Accept-Encoding", # Already included
"Accept-Language",
"Access-Control-Request-Headers",
"Access-Control-Request-Method",
"Origin",
]
items = var.header_items
}
}

Expand Down
17 changes: 17 additions & 0 deletions aws/modules/frontend/cloudfront/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,23 @@ variable "cached_methods_s3" {
default = ["HEAD", "GET"]
}

variable "header_behavior" {
type = string
default = "whitelist"
}

variable "header_items" {
type = set(string)
default = [
"Accept",
"Accept-Language",
"Access-Control-Request-Headers",
"Access-Control-Request-Method",
"Origin",
"X-Forwarded-Host",
]
}

variable "default_cache" {
type = object({
min_ttl = number
Expand Down
26 changes: 26 additions & 0 deletions aws/prod/backend/locals.tf
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
locals {
# Lambda
environment = tomap({
HEARCHCO_VERBOSITY = "1"
HEARCHCO_SERVER_FRONTENDURLS = "http://localhost:5173,https://hearch.co,https://frontend-*-hearchco.vercel.app"
HEARCHCO_SERVER_CACHE_TYPE = "none" # currently caching has some bugs so it's disabled
})
Expand All @@ -16,4 +17,29 @@ locals {
"/healthz",
"/versionz"
])

# regions = [
# "af_south_1",
# "ap_east_1",
# "ap_northeast_1",
# "ap_northeast_2",
# "ap_south_1",
# "ap_southeast_1",
# "ap_southeast_2",
# "ca_central_1",
# "eu_central_1",
# "eu_central_2",
# "eu_north_1",
# "eu_south_1",
# "eu_south_2",
# "eu_west_1",
# "eu_west_2",
# "eu_west_3",
# "me_south_1",
# "sa_east_1",
# "us_east_1",
# "us_east_2",
# "us_west_1",
# "us_west_2"
# ]
}
1 change: 1 addition & 0 deletions aws/prod/frontend/locals.tf
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ locals {

# Lambda
environment = tomap({
DEBUG = "true"
PUBLIC_URI = "https://${var.domain_name}"
API_URI = "https://${local.api_domain_name}"
PUBLIC_API_URI = "https://${local.api_domain_name}"
Expand Down

0 comments on commit cbaecaa

Please sign in to comment.