Skip to content

Instantly share code, notes, and snippets.

@VITIMan
Forked from massar/server-git.conf
Created May 11, 2016 15:30
Show Gist options
  • Save VITIMan/d131d68a5e55d6da83e4dc0aae79357f to your computer and use it in GitHub Desktop.
Save VITIMan/d131d68a5e55d6da83e4dc0aae79357f to your computer and use it in GitHub Desktop.
Example nginx + git HTTP Smart mode (git-http-backend) + HTTP Authentication + HTTPS redirect
# Example nginx + git HTTP Smart mode (git-http-backend) + HTTP Authentication + HTTPS redirect
# [email protected] - http://jeroen.massar.ch
server {
listen 192.0.1.1:80;
listen [2001:db8::1]:80;
# Redirect all non-HTTPS traffic to the HTTPS variant
return 301 https://$host$request_uri;
}
server {
listen 192.0.1.1:443;
listen [2001:db8::1]:443;
root /www/empty/;
index index.html;
server_name git.example.com;
access_log /var/log/nginx/access.log;
#error_page 404 /404.html;
# ... ssl params ...
auth_basic "Restricted";
auth_basic_user_file /www/htpasswd;
location ~ /git(/.*) {
# Set chunks to unlimited, as the body's can be huge
client_max_body_size 0;
fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend;
include fastcgi_params;
fastcgi_param GIT_HTTP_EXPORT_ALL "";
fastcgi_param GIT_PROJECT_ROOT /git;
fastcgi_param PATH_INFO $1;
# Forward REMOTE_USER as we want to know when we are authenticated
fastcgi_param REMOTE_USER $remote_user;
fastcgi_pass unix:/var/run/fcgiwrap.socket;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment