# A nginx.conf file for FosWiki that runs under Debian Wheezy # # To make it work, you must first install: # - fcgiwrap # - spawn-fcgi # - FastCGIEngineContrib plugin for Foswiki # # The configuration below works with the following content for /etc/default/foswiki # # FOSWIKI_ROOT=/var/lib/foswiki # FOSWIKI_FCGI=foswiki.fcgi # FOSWIKI_BIND=127.0.0.1:9010 # FOSWIKI_CHILDREN=5 # # server { listen 80; server_name wiki.myowndomain.com; set $foswiki_root "/var/lib/foswiki"; error_log /var/log/nginx/foswiki.log; access_log /var/log/nginx/foswiki.access_log; root $foswiki_root; index index.html; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } location ~ /bin/configure { allow 127.0.0.1; # add allow statements only for administrative IPs! allow *.*.*.*; #Replace *.*.*.* with your IP address deny all; gzip off; fastcgi_pass unix:/var/run/fcgiwrap.socket; fastcgi_split_path_info ^/var/lib/foswiki(/bin/configure)(.*); # Yes, one of the above links had this wrong fastcgi_param SCRIPT_FILENAME /var/lib/foswiki/bin/configure; # $configure_script is not in nginx, see number 2 above fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param SCRIPT_NAME $fastcgi_script_name; include fastcgi_params; } location = / { try_files $uri @foswiki; } location ~ ^/([A-Z_].*)$ { rewrite ^/(.*)$ /bin/view/$1; } location ~ ^/pub/(System|Applications|images|cache)/ { expires 8h; gzip_static on; } location /pub { rewrite ^/pub/(.*)$ /bin/viewfile/$1; } location ~ ^/bin { try_files $uri @foswiki; } location @foswiki { gzip off; fastcgi_pass 127.0.0.1:9010; fastcgi_split_path_info ^/bin/(.+?)(/.*)$; fastcgi_param SCRIPT_FILENAME $foswiki_root/bin/foswiki.fcgi; fastcgi_param PATH_INFO $fastcgi_path_info; include fastcgi_params; } if ($http_user_agent ~ ^SiteSucker|^iGetter|^larbin|^LeechGet|^RealDownload|^Teleport|^Webwhacker|^WebDevil|^Webzip|^Attache|^SiteSnagger|^WX_mail|^EmailCollector|^WhoWhere|^Roverbot|^ActiveAgent|^EmailSiphon|^CrownPeak-HttpAgent|^$) { rewrite .* /404.html break; } location ~ (^/lib|^/data|^/locale|^/templates|^/tools|^/work) { deny all; } }