18947: Merge branch 'main'
[arvados.git] / tools / salt-install / config_examples / multi_host / aws / pillars / nginx_controller_configuration.sls
1 ---
2 # Copyright (C) The Arvados Authors. All rights reserved.
3 #
4 # SPDX-License-Identifier: AGPL-3.0
5
6 ### NGINX
7 nginx:
8   ### SERVER
9   server:
10     config:
11       ### STREAMS
12       http:
13         'geo $external_client':
14           default: 1
15           '127.0.0.0/8': 0
16           '__CLUSTER_INT_CIDR__': 0
17         upstream controller_upstream:
18           - server: 'localhost:8003  fail_timeout=10s'
19
20   ### SITES
21   servers:
22     managed:
23       ### DEFAULT
24       arvados_controller_default.conf:
25         enabled: true
26         overwrite: true
27         config:
28           - server:
29             - server_name: __CLUSTER__.__DOMAIN__
30             - listen:
31               - 80 default
32             - location /.well-known:
33               - root: /var/www
34             - location /:
35               - return: '301 https://$host$request_uri'
36
37       arvados_controller_ssl.conf:
38         enabled: true
39         overwrite: true
40         requires:
41           __CERT_REQUIRES__
42         config:
43           - server:
44             - server_name: __CLUSTER__.__DOMAIN__
45             - listen:
46               - __CONTROLLER_EXT_SSL_PORT__ http2 ssl
47             - index: index.html index.htm
48             - location /:
49               - proxy_pass: 'http://controller_upstream'
50               - proxy_read_timeout: 300
51               - proxy_connect_timeout: 90
52               - proxy_redirect: 'off'
53               - proxy_set_header: X-Forwarded-Proto https
54               - proxy_set_header: 'Host $http_host'
55               - proxy_set_header: 'X-Real-IP $remote_addr'
56               - proxy_set_header: 'X-Forwarded-For $proxy_add_x_forwarded_for'
57               - proxy_set_header: 'X-External-Client $external_client'
58               - proxy_max_temp_file_size: 0
59               - proxy_request_buffering: 'off'
60               - proxy_buffering: 'off'
61               - proxy_http_version: '1.1'
62             - include: snippets/ssl_hardening_default.conf
63             - ssl_certificate: __CERT_PEM__
64             - ssl_certificate_key: __CERT_KEY__
65             - access_log: /var/log/nginx/controller.__CLUSTER__.__DOMAIN__.access.log combined
66             - error_log: /var/log/nginx/controller.__CLUSTER__.__DOMAIN__.error.log
67             - client_max_body_size: 128m