You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
2.0 KiB
Plaintext
73 lines
2.0 KiB
Plaintext
# https://stackoverflow.com/questions/6414227/how-to-serve-git-through-http-via-nginx-with-user-password/17553364#answer-17553364
|
|
server {
|
|
listen 80 ;
|
|
listen [::]:80 ;
|
|
|
|
if ($host = git.aney.co.uk) {
|
|
return 301 https://$host$request_uri ;
|
|
}
|
|
|
|
if ($host = www.git.aney.co.uk) {
|
|
return 301 https://$host$request_uri ;
|
|
}
|
|
return 404;
|
|
}
|
|
|
|
server {
|
|
listen 443 ssl;
|
|
listen [::]:443;
|
|
server_name git.aney.co.uk ;
|
|
|
|
root /usr/share/gitweb/;
|
|
|
|
# Remove auth_* if you don't want HTTP Basic Auth
|
|
#auth_basic "example Git";
|
|
#auth_basic_user_file /etc/nginx/.htpasswd;
|
|
|
|
# static repo files for cloning over https
|
|
location ~ ^.*\.git/objects/([0-9a-f]+/[0-9a-f]+|pack/pack-[0-9a-f]+.(pack|idx))$ {
|
|
root /srv/git/;
|
|
}
|
|
|
|
# requests that need to go to git-http-backend
|
|
location ~ ^.*\.git/(HEAD|info/refs|objects/info/.*|git-(upload|receive)-pack)$ {
|
|
root /srv/git/;
|
|
|
|
fastcgi_pass unix:/var/run/fcgiwrap.socket;
|
|
fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend;
|
|
fastcgi_param PATH_INFO $uri;
|
|
fastcgi_param GIT_PROJECT_ROOT $document_root;
|
|
fastcgi_param GIT_HTTP_EXPORT_ALL "";
|
|
fastcgi_param REMOTE_USER $remote_user;
|
|
include fastcgi_params;
|
|
}
|
|
|
|
# Remove all conf beyond if you don't want Gitweb
|
|
try_files $uri @gitweb;
|
|
location @gitweb {
|
|
fastcgi_pass unix:/var/run/fcgiwrap.socket;
|
|
fastcgi_param SCRIPT_FILENAME /usr/share/gitweb/gitweb.cgi;
|
|
fastcgi_param PATH_INFO $uri;
|
|
fastcgi_param GITWEB_CONFIG /etc/gitweb.conf;
|
|
include fastcgi_params;
|
|
}
|
|
|
|
#location /index.cgi {
|
|
#root /usr/share/gitweb/;
|
|
#include fastcgi_params;
|
|
#gzip off;
|
|
#fastcgi_param SCRIPT_NAME $uri;
|
|
#fastcgi_param GITWEB_CONFIG /etc/gitweb.conf;
|
|
#fastcgi_pass unix:/var/run/fcgiwrap.socket;
|
|
#}
|
|
|
|
#location / {
|
|
#root /usr/share/gitweb/;
|
|
#index index.cgi;
|
|
#}
|
|
|
|
ssl_certificate /etc/letsencrypt/live/git.aney.co.uk/fullchain.pem; # managed by Certbot
|
|
ssl_certificate_key /etc/letsencrypt/live/git.aney.co.uk/privkey.pem; # managed by Certbot
|
|
}
|
|
|