-
Notifications
You must be signed in to change notification settings - Fork 3
/
nginx-config
93 lines (73 loc) · 3.09 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
upstream mysite_server {
# fail_timeout=0 means we always retry an upstream even if it failed
# to return a good HTTP response (in case the Unicorn master nukes a
# single worker for timing out).
server unix:/opt/mysite_env/mysite/run/gunicorn.sock fail_timeout=0;
}
# ---- HTTPS setup start ----
## Redirects http requests to https
#server {
# listen 80;
# server_name mysite.com www.mysite.com;
# return 301 https://www.mysite.com$request_uri;
#}
#
#server {
# listen 443;
# server_name mysite.com;
# return 301 https://www.mysite.com$request_uri;
#}
server {
listen 80;
# listen 443 default ssl;
# ssl_certificate /etc/letsencrypt/live/mysite.com/fullchain.pem;
# ssl_certificate_key /etc/letsencrypt/live/mysite.com/privkey.pem;
# ---- HTTPS setup end----
# Or use ip-address instead if you haven't pointed the domain to the ip address yet
server_name www.mysite.com;
# Use option below if you want to allow other websites to for example put your website as src in an iframe. Requires package nginx-extras.
# Just adding a header will result in conflicting headers.
#add_header X-Frame-Options "ALLOW-FROM http://www.including.site";
#more_set_headers 'X-Frame-Options:'; # Remove value DENY, from nginx-extras
client_max_body_size 4G;
access_log /opt/mysite_env/mysite/logs/nginx-access.log;
error_log /opt/mysite_env/mysite/logs/nginx-error.log;
location /static/ {
autoindex on;
alias /opt/mysite_env/mysite/mysite/static/;
}
location / {
# an HTTP header important enough to have its own Wikipedia entry:
# http://en.wikipedia.org/wiki/X-Forwarded-For
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# enable this if and only if you use HTTPS, this helps Rack
# set the proper protocol for doing redirects:
# proxy_set_header X-Forwarded-Proto https;
# pass the Host: header from the client right along so redirects
# can be set properly within the Rack application
proxy_set_header Host $http_host;
# we don't want nginx trying to do something clever with
# redirects, we set the Host: header above already.
proxy_redirect off;
# set "proxy_buffering off" *only* for Rainbows! when doing
# Comet/long-poll stuff. It's also safe to set if you're
# using only serving fast clients with Unicorn + nginx.
# Otherwise you _want_ nginx to buffer responses to slow
# clients, really.
# proxy_buffering off;
# Try to serve static files from nginx, no point in making an
# *application* server like Unicorn/Rainbows! serve static files.
if (!-f $request_filename) {
proxy_pass http://mysite_server; # this refers to the django server defined on top of file
break;
}
}
location /favicon.ico {
alias /opt/mysite_env/mysite/mysite/static/pages/favicon.ico;
}
# Error pages
error_page 500 502 503 504 /500.html;
location = /500.html {
root /env/mysite/static/;
}
}