diff options
Diffstat (limited to 'conf/nginx.conf.example')
-rw-r--r-- | conf/nginx.conf.example | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/conf/nginx.conf.example b/conf/nginx.conf.example new file mode 100644 index 000000000..7b26afdbf --- /dev/null +++ b/conf/nginx.conf.example @@ -0,0 +1,75 @@ +# An example configuration for running FixMyStreet under nginx. You +# will also need to set up the FixMyStreet Catalyst FastCGI backend. +# An example sysvinit script to help with this is shown given in the file +# sysvinit-catalyst-fastcgi.example in this directory. +# +# See our installation help at http://code.fixmystreet.com/ + +server { + + access_log /var/www/fixmystreet/logs/access.log; + error_log /var/www/fixmystreet/logs/error.log; + + listen 80; + root /var/www/fixmystreet/fixmystreet/web; + error_page 503 /down.html; + + # Make sure that Javascript and CSS are compressed. (HTML is + # already compressed under the default configuration of the nginx + # package.) + + gzip on; + gzip_disable "msie6"; + gzip_types application/javascript application/x-javascript text/css; + + # Set a long expiry time for CSS and Javascript, and prevent + # the mangling of Javascript by proxies: + + location ~ \.css$ { + expires 10y; + } + + location ~ \.js$ { + add_header Cache-Control no-transform; + expires 10y; + try_files $uri @catalyst; + } + + # These rewrite rules are ported from the Apache configuration in + # conf/httpd.conf + + rewrite ^/rss/council/([0-9]+)$ /rss/reports/$1 permanent; + rewrite ^/report$ /reports permanent; + rewrite '^/{/rss/(.*)}$' /rss/$1 permanent; + rewrite '^/reports/{/rss/(.*)}$' /rss/$1 permanent; + rewrite ^/alerts/?$ /alert permanent; + + location /mapit { + proxy_pass http://mapit.mysociety.org/; + proxy_set_header X-Real-IP $remote_addr; + } + + location /admin { + auth_basic "FixMyStreet admin interface"; + auth_basic_user_file /var/www/fixmystreet/admin-htpasswd; + try_files $uri @catalyst; + } + + location / { + if (-f $document_root/down.html) { + return 503; + } + try_files $uri @catalyst; + } + + location /down.html { + internal; + } + + location @catalyst { + include /etc/nginx/fastcgi_params; + fastcgi_param PATH_INFO $fastcgi_script_name; + fastcgi_param SCRIPT_NAME ''; + fastcgi_pass 127.0.0.1:9000; + } +} |