discourse/config/nginx.sample.conf

66 lines
1.5 KiB
Plaintext
Raw Normal View History

2013-02-05 14:16:51 -05:00
upstream discourse {
server unix:/home/discourse/discourse/tmp/sockets/thin.0.sock;
server unix:/home/discourse/discourse/tmp/sockets/thin.1.sock;
server unix:/home/discourse/discourse/tmp/sockets/thin.2.sock;
server unix:/home/discourse/discourse/tmp/sockets/thin.3.sock;
2013-02-05 14:16:51 -05:00
}
server {
listen 80;
gzip on;
gzip_min_length 1000;
gzip_types application/json text/css application/x-javascript;
server_name enter.your.web.hostname.here;
2013-02-05 14:16:51 -05:00
sendfile on;
keepalive_timeout 65;
2013-07-21 03:42:07 -04:00
client_max_body_size 2m;
2013-02-05 14:16:51 -05:00
location / {
root /home/discourse/discourse/public;
2013-02-05 14:16:51 -05:00
## optional upload anti-hotlinking rules
#location ~ ^/uploads/ {
# valid_referers none blocked mysite.com *.mysite.com;
# if ($invalid_referer) {
# return 403;
# }
#}
2013-06-15 01:25:41 -04:00
2013-02-05 14:16:51 -05:00
location ~ ^/t\/[0-9]+\/[0-9]+\/avatar {
expires 1d;
add_header Cache-Control public;
add_header ETag "";
}
location ~ ^/(assets|uploads)/ {
2013-02-05 14:16:51 -05:00
expires 1y;
add_header Cache-Control public;
add_header ETag "";
break;
}
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
2013-02-05 14:16:51 -05:00
# If the file exists as a static file serve it directly without
2013-07-14 00:06:59 -04:00
# running all the other rewrite tests on it
2013-02-05 14:16:51 -05:00
if (-f $request_filename) {
break;
}
if (!-f $request_filename) {
proxy_pass http://discourse;
break;
}
2013-02-05 14:16:51 -05:00
}
}