mirror of
https://github.com/timokz/flutter-vienna-hackathon-25.git
synced 2025-11-09 07:24:20 +01:00
73 lines
No EOL
1.7 KiB
HCL
73 lines
No EOL
1.7 KiB
HCL
locals {
|
|
alb_origin_id = "${var.project_name}-web"
|
|
}
|
|
|
|
resource "aws_cloudfront_distribution" "web" {
|
|
origin {
|
|
origin_id = local.alb_origin_id
|
|
domain_name = aws_lb.serverpod.dns_name
|
|
custom_origin_config {
|
|
http_port = 80
|
|
https_port = 443
|
|
origin_protocol_policy = "http-only"
|
|
origin_ssl_protocols = ["SSLv3"]
|
|
}
|
|
}
|
|
enabled = true
|
|
|
|
aliases = ["${var.subdomain_web}.${var.top_domain}", "${var.top_domain}"]
|
|
|
|
default_cache_behavior {
|
|
allowed_methods = ["HEAD", "DELETE", "POST", "GET", "OPTIONS", "PUT", "PATCH"]
|
|
cached_methods = ["HEAD", "GET"]
|
|
target_origin_id = local.alb_origin_id
|
|
|
|
forwarded_values {
|
|
query_string = true
|
|
|
|
cookies {
|
|
forward = "all"
|
|
}
|
|
|
|
headers = ["*"]
|
|
}
|
|
|
|
viewer_protocol_policy = "redirect-to-https"
|
|
min_ttl = 0
|
|
default_ttl = 0
|
|
max_ttl = 0
|
|
}
|
|
|
|
price_class = "PriceClass_100"
|
|
|
|
viewer_certificate {
|
|
acm_certificate_arn = var.cloudfront_certificate_arn
|
|
ssl_support_method = "sni-only"
|
|
}
|
|
|
|
restrictions {
|
|
geo_restriction {
|
|
restriction_type = "none"
|
|
}
|
|
}
|
|
}
|
|
|
|
resource "aws_route53_record" "web" {
|
|
zone_id = var.hosted_zone_id
|
|
name = "${var.subdomain_web}.${var.top_domain}"
|
|
type = "CNAME"
|
|
ttl = "300"
|
|
records = ["${aws_cloudfront_distribution.web.domain_name}"]
|
|
}
|
|
|
|
resource "aws_route53_record" "web_top_domain" {
|
|
count = var.use_top_domain_for_web ? 1 : 0
|
|
zone_id = var.hosted_zone_id
|
|
name = var.top_domain
|
|
type = "A"
|
|
alias {
|
|
name = aws_cloudfront_distribution.web.domain_name
|
|
zone_id = aws_cloudfront_distribution.web.hosted_zone_id
|
|
evaluate_target_health = false
|
|
}
|
|
} |