diff options
Diffstat (limited to 'nginx/sites-available')
-rw-r--r-- | nginx/sites-available/source.copyninja.info | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/nginx/sites-available/source.copyninja.info b/nginx/sites-available/source.copyninja.info new file mode 100644 index 0000000..3b42e91 --- /dev/null +++ b/nginx/sites-available/source.copyninja.info @@ -0,0 +1,55 @@ +server { + listen 80; + server_name source.copyninja.info; + + # redirect to https + return 301 https://$server_name$request_uri; +} + +server { + listen 443 ssl; + server_name source.copyninja.info; + + root /usr/share/cgit; + + ssl on; + ssl_certificate /etc/ssl/certs/source.copyninja.info.cert.pem; + ssl_certificate_key /etc/ssl/private/source.copyninja.info.privkey.pem; + + include /etc/nginx/conf.d/ssl.conf; + + location ~* \.(?:ico|css|js|gif|jpe?g|png)$ { + expires 30d; + add_header Prgma public; + add_header Cache-Control: "public"; + } + + # static repo files for cloning over https + location ~ ^.*\.git/objects/([0-9a-f]+/[0-9a-f]+|pack/pack-[0-9a-f]+.(pack|idx))$ { + root /home/git/projects; + } + + # requests for git-http-backend + location ~ ^.*\.git/(HEAD|info/refs|objects/info/.*|git-(upload|receive)-pack)$ { + root /home/git/projects; + + include uwsgi_params; + uwsgi_modifier1 9; + uwsgi_param GIT_PROJECT_ROOT /home/git/projects; + uwsgi_param PATH_INFO $uri; + uwsgi_pass unix:/run/uwsgi/app/git-http/socket; + } + + # send anything else cgit + try_files $uri @cgit; + + location @cgit { + include uwsgi_params; + uwsgi_modifier1 9; + uwsgi_param PATH_INFO $uri; + uwsgi_param QUERY_STRING $args; + uwsgi_pass unix:/run/uwsgi/app/cgit/socket; + } + access_log /var/log/nginx/source.access.log; + error_log /var/log/nginx/source.error.log info; +} |