fix(provision): add multi hosts installation examples
[arvados.git] / tools / salt-install / config_examples / multi_host / aws / pillars / nginx_websocket_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         upstream websocket_upstream:
14           - server: 'localhost:8005 fail_timeout=10s'
15
16   servers:
17     managed:
18       ### DEFAULT
19       arvados_websocket_default:
20         enabled: true
21         overwrite: true
22         config:
23           - server:
24             - server_name: ws.__CLUSTER__.__DOMAIN__
25             - listen:
26               - 80
27             - include: snippets/letsencrypt_well_known.conf
28             - location /:
29               - return: '301 https://$host$request_uri'
30
31       arvados_websocket_ssl:
32         enabled: true
33         overwrite: true
34         requires:
35           cmd: create-initial-cert-ws.__CLUSTER__.__DOMAIN__-ws.__CLUSTER__.__DOMAIN__
36         config:
37           - server:
38             - server_name: ws.__CLUSTER__.__DOMAIN__
39             - listen:
40               - __CONTROLLER_EXT_SSL_PORT__ http2 ssl
41             - index: index.html index.htm
42             - location /:
43               - proxy_pass: 'http://websocket_upstream'
44               - proxy_read_timeout: 600
45               - proxy_connect_timeout: 90
46               - proxy_redirect: 'off'
47               - proxy_set_header: 'Host $host'
48               - proxy_set_header: 'X-Real-IP $remote_addr'
49               - proxy_set_header: 'Upgrade $http_upgrade'
50               - proxy_set_header: 'Connection "upgrade"'
51               - proxy_set_header: 'X-Forwarded-For $proxy_add_x_forwarded_for'
52               - proxy_buffering: 'off'
53             - client_body_buffer_size: 64M
54             - client_max_body_size: 64M
55             - proxy_http_version: '1.1'
56             - proxy_request_buffering: 'off'
57             - include: snippets/ssl_hardening_default.conf
58             - include: snippets/ws.__CLUSTER__.__DOMAIN___letsencrypt_cert[.]conf
59             - access_log: /var/log/nginx/ws.__CLUSTER__.__DOMAIN__.access.log combined
60             - error_log: /var/log/nginx/ws.__CLUSTER__.__DOMAIN__.error.log