summaryrefslogtreecommitdiffstats
path: root/tools/docker-compose/nginx.vh.default.conf
blob: 456b16953d7bf1f54cbe35f06b36e0bfa358efc3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
upstream uwsgi {
    server localhost:8050;
}

upstream daphne {
    server localhost:8051;
}

server {
       listen 8013 default_server;
       listen [::]:8013 default_server;
       return 301 https://$host:8043$request_uri;
}

server {
	listen 8043 default_server ssl;

	# If you have a domain name, this is where to add it
    server_name _;
	keepalive_timeout 65;

	ssl_certificate /etc/nginx/nginx.crt;
	ssl_certificate_key /etc/nginx/nginx.key;

    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:50m;
    ssl_session_tickets off;

    # intermediate configuration. tweak to your needs.
    ssl_protocols TLSv1.2;
    ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
    ssl_prefer_server_ciphers on;

    # HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months)
    add_header Strict-Transport-Security max-age=15768000;

    location /static/ {
        root /tower_devel;
        try_files /awx/ui/$uri /awx/$uri /awx/public/$uri =404;
        access_log off;
        sendfile off;
    }

	location /websocket {
		# Pass request to the upstream alias
		proxy_pass http://daphne;
		# Require http version 1.1 to allow for upgrade requests
		proxy_http_version 1.1;
		# We want proxy_buffering off for proxying to websockets.
		proxy_buffering off;
		# http://en.wikipedia.org/wiki/X-Forwarded-For
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		# enable this if you use HTTPS:
		proxy_set_header X-Forwarded-Proto https;
		# pass the Host: header from the client for the sake of redirects
		proxy_set_header Host $http_host;
		# We've set the Host header, so we don't need Nginx to muddle
		# about with redirects
		proxy_redirect off;
		# Depending on the request value, set the Upgrade and
		# connection headers
		proxy_set_header Upgrade $http_upgrade;
		proxy_set_header Connection $connection_upgrade;
	}      

	location / {
        uwsgi_read_timeout 120s;
        uwsgi_pass uwsgi;
		include /etc/nginx/uwsgi_params;
	}
}