server_name wiki.cyclocoop.org; access_log /home/www/log/cyclo-wiki/nginx/access.piwik.log piwik; #auth_basic "pour demander un compte: admin+wiki@cyclocoop.org"; #auth_basic_user_file /home/www/data/cyclo-wiki/.htpasswd; client_body_buffer_size 8k; client_max_body_size 10m; error_page 404 /cgi/ikiwiki.cgi?do=create&page=$uri; location ~ ^/gitweb/static/.+\.(css|png|js)$ { root /usr/share/; access_log off; expires 30d; log_not_found off; } location ~ ^/gitweb($|/) { #auth_basic "no pasaran"; #auth_basic_user_file /home/www/data/cyclo-wiki/.htpasswd; root /usr/share/gitweb; fastcgi_param SCRIPT_FILENAME /usr/share/gitweb/gitweb.cgi; include /etc/nginx/conf.d/fastcgi.conf; set $no_cache "0"; if ($request_method !~ ^(GET|HEAD)$) { # NOTE: if non GET/HEAD, don't cache and mark user as uncacheable for 1 second via cookie. set $no_cache "1"; } if ($no_cache = "1") { # NOTE: drop no cache cookie if need be (for some reason, add_header fails if included in prior if-block). add_header Set-Cookie "_mcnc=1; Max-Age=2; Path=/"; add_header X-Microcachable "0"; } if ($http_cookie ~* "_mcnc") { # NOTE: bypass cache if no-cache cookie is set. set $no_cache "1"; } fastcgi_cache_bypass $no_cache; fastcgi_cache_use_stale updating; fastcgi_cache_valid 200 10s; fastcgi_cache_valid 404 30m; fastcgi_ignore_headers Cache-Control Expires Set-Cookie; fastcgi_no_cache $no_cache; fastcgi_param GITWEB_CONFIG /etc/gitweb/cyclo-wiki.conf; fastcgi_param PATH_INFO $uri; fastcgi_pass_header Cookie; fastcgi_pass_header Set-Cookie; fastcgi_split_path_info ^(.+\.cgi)(/.+)$; fastcgi_pass unix:/run/spawn-fcgi/gitweb; } location /cgi/ikiwiki.cgi { include /etc/nginx/conf.d/fastcgi.conf; set $r "$https$arg_do"; if ($r = "create") { return 301 https://$host$request_uri; } if ($r = "edit") { return 301 https://$host$request_uri; } if ($r = "newevent") { return 301 https://$host$request_uri; } if ($r = "prefs") { return 301 https://$host$request_uri; } fastcgi_index cgi/ikiwiki.cgi; fastcgi_pass unix:/run/spawn-fcgi/cyclo-wiki; } location ~* ^.+\.(css|gif|ico|jpeg|js|jpg|png)$ { access_log off; expires 30d; log_not_found off; } location ~* ^.+\.(html|txt|xhtml|xml)$ { expires 60s; } location ~ /\. { access_log off; deny all; log_not_found off; } location / { index index.html; } location /3615 { rewrite ^/3615(.*)$ https://3615.cyclocoop.org$1 last; #return 301 https://3615.cyclocoop.org; } # vim: ft=sh