-
Notifications
You must be signed in to change notification settings - Fork 0
/
nginx_config
147 lines (122 loc) · 3.53 KB
/
nginx_config
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
# place at /etc/nginx/sites-enabled/cakeclub
server {
listen 80;
server_name <DOMAIN NAME>;
# directory to pass to certbot for webhook
location ~ /.well-known {
root /home/<USER>/letsencrypt;
}
location / {
# redirect to https
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl;
server_name <DOMAIN NAME>;
# SSL config
ssl_certificate /etc/letsencrypt/live/<DOMAIN NAME>/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/<DOMAIN NAME>/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_stapling on;
ssl_stapling_verify on;
add_header Strict-Transport-Security max-age=15768000;
# error logs to /var/log
access_log /var/log/cakeclub_nginx_access.log;
error_log /var/log/cakeclub_nginx_error.log;
# special proxy rules for socket.io endpoint
# to make websockets work
location /socket.io {
proxy_pass http://127.0.0.1:8000/socket.io;
proxy_http_version 1.1;
proxy_redirect off;
proxy_buffering off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
# remove origin header
# so flask-SocketIO CORS doesn't complain
proxy_set_header Origin "";
}
location / {
proxy_pass http://127.0.0.1:8000;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /static {
# static files served directly
# from cloned git repository
alias /home/<USER>/cakeclub-v2/app/static;
expires 30d;
}
location /favicon.ico {
alias /home/<USER>/cakeclub-v2/app/static/images/favicon.ico;
}
# directory to pass to certbot for webhook
# renewal might need https (?)
location ~ /.well-known {
root /home/<USER>/letsencrypt;
}
location / {
# redirect to https
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl;
server_name <DOMAIN NAME>;
# SSL config
ssl_certificate /etc/letsencrypt/live/<DOMAIN NAME>/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/<DOMAIN NAME>/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_stapling on;
ssl_stapling_verify on;
add_header Strict-Transport-Security max-age=15768000;
# error logs to /var/log
access_log /var/log/cakeclub_nginx_access.log;
error_log /var/log/cakeclub_nginx_error.log;
# special proxy rules for socket.io endpoint
# to make websockets work
location /socket.io {
proxy_pass http://127.0.0.1:8000/socket.io;
proxy_http_version 1.1;
proxy_redirect off;
proxy_buffering off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
# remove origin header
# so flask-SocketIO CORS doesn't complain
proxy_set_header Origin "";
}
location / {
proxy_pass http://127.0.0.1:8000;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /static {
# static files served directly
# from cloned git repository
alias /home/<USER>/cakeclub-v2/app/static;
expires 30d;
}
location ~ /.well-known {
root /home/<USER>/letsencrypt;
}
}
location ~ /.well-known {
root /home/<USER>/letsencrypt;
}
}