summaryrefslogtreecommitdiff
path: root/public/fs/etc/nginx
diff options
context:
space:
mode:
Diffstat (limited to 'public/fs/etc/nginx')
-rw-r--r--public/fs/etc/nginx/vhosts.d/git.foss21.org.conf29
1 files changed, 26 insertions, 3 deletions
diff --git a/public/fs/etc/nginx/vhosts.d/git.foss21.org.conf b/public/fs/etc/nginx/vhosts.d/git.foss21.org.conf
index 3b0cf57..af9490c 100644
--- a/public/fs/etc/nginx/vhosts.d/git.foss21.org.conf
+++ b/public/fs/etc/nginx/vhosts.d/git.foss21.org.conf
@@ -9,24 +9,47 @@ server {
server_name git.foss21.org;
root /srv/www/htdocs;
+ # legacy (bookmarked) /cgit.git addresses
location /cgit.cgi {
rewrite ^/cgit.cgi(/.*)$ $1 last;
}
+ # git-http-backend: initial clone GET request
+ location ~ ^(/namespace)?/(.+?)/info(/.*)?$ {
+ try_files $uri @git_http_backend;
+ }
+
+ # git-http-backend: clone POST request
+ location ~ ^(/namespace)?/(.+?)/git-upload-pack {
+ try_files $uri @git_http_backend;
+ }
+
+ # otherwise, cgit
location / {
try_files $uri @cgit;
}
+ location @git_http_backend {
+ include uwsgi_params;
+ uwsgi_modifier1 9;
+ uwsgi_pass unix:/run/uwsgi/git.socket;
+
+ uwsgi_param HTTP_HOST $server_name;
+ uwsgi_param GIT_PROJECT_ROOT /srv/git;
+ uwsgi_param PATH_INFO $uri;
+ uwsgi_param GIT_HTTP_EXPORT_ALL "";
+ }
+
location @cgit {
include uwsgi_params;
uwsgi_modifier1 9;
uwsgi_pass unix:/run/uwsgi/cgit.socket;
- uwsgi_param CGIT_CONFIG "/etc/cgit.d/cgitrc.foss21.org";
- uwsgi_param PATH_INFO $uri;
- uwsgi_param QUERY_STRING $args;
uwsgi_param HTTP_HOST $server_name;
+ uwsgi_param CGIT_CONFIG /etc/cgit.d/cgitrc.foss21.org;
uwsgi_param SCRIPT_FILENAME $document_root/cgit.cgi;
+ uwsgi_param PATH_INFO $uri;
+ uwsgi_param QUERY_STRING $args;
}
ssl_certificate /etc/nginx/certs.d/culturestrings.org/ssl/fullchain.pem;