summaryrefslogtreecommitdiff
path: root/nginx
diff options
context:
space:
mode:
Diffstat (limited to 'nginx')
-rw-r--r--nginx/sites-available/source.copyninja.info55
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;
+}