1
+ locals {
2
+ pycon_web_domain = local. is_prod ? " admin.pycon.it" : " ${ terraform . workspace } -admin.pycon.it"
3
+ pretix_web_domain = local. is_prod ? " tickets.pycon.it" : " ${ terraform . workspace } -tickets.pycon.it"
4
+ }
5
+
6
+ data "aws_cloudfront_origin_request_policy" "all_viewer" {
7
+ name = " Managed-AllViewer"
8
+ }
9
+
1
10
data "aws_cloudfront_cache_policy" "caching_disabled" {
2
11
name = " Managed-CachingDisabled"
3
12
}
4
13
5
- data "aws_cloudfront_origin_request_policy" "all_viewer_except_host_header" {
6
- name = " Managed-AllViewerExceptHostHeader"
14
+ data "aws_acm_certificate" "cert" {
15
+ domain = " *.pycon.it"
16
+ statuses = [" ISSUED" ]
17
+ provider = aws. us
7
18
}
8
19
9
20
resource "aws_cloudfront_distribution" "application" {
10
21
enabled = true
11
22
is_ipv6_enabled = true
12
- comment = " ${ terraform . workspace } - ${ var . application } "
23
+ comment = " ${ terraform . workspace } server "
13
24
wait_for_deployment = false
14
- aliases = [var . domain ]
25
+ aliases = [
26
+ local . pycon_web_domain ,
27
+ local . pretix_web_domain
28
+ ]
15
29
16
30
origin {
17
- domain_name = var . origin_url
31
+ domain_name = aws_eip . server . public_dns
18
32
origin_id = " default"
19
33
20
34
custom_origin_config {
21
- origin_protocol_policy = " https -only"
35
+ origin_protocol_policy = " http -only"
22
36
http_port = " 80"
23
37
https_port = " 443"
24
38
origin_ssl_protocols = [" TLSv1" ]
@@ -29,7 +43,7 @@ resource "aws_cloudfront_distribution" "application" {
29
43
cloudfront_default_certificate = false
30
44
minimum_protocol_version = " TLSv1"
31
45
ssl_support_method = " sni-only"
32
- acm_certificate_arn = var . certificate_arn
46
+ acm_certificate_arn = data . aws_acm_certificate . cert . arn
33
47
}
34
48
35
49
default_cache_behavior {
@@ -38,16 +52,10 @@ resource "aws_cloudfront_distribution" "application" {
38
52
target_origin_id = " default"
39
53
40
54
cache_policy_id = data. aws_cloudfront_cache_policy . caching_disabled . id
41
- origin_request_policy_id = data. aws_cloudfront_origin_request_policy . all_viewer_except_host_header . id
55
+ origin_request_policy_id = data. aws_cloudfront_origin_request_policy . all_viewer . id
42
56
43
57
viewer_protocol_policy = " redirect-to-https"
44
58
compress = true
45
-
46
- lambda_function_association {
47
- event_type = " viewer-request"
48
- lambda_arn = var. forward_host_header_lambda_arn
49
- include_body = false
50
- }
51
59
}
52
60
53
61
restrictions {
0 commit comments