Skip to content

Instantly share code, notes, and snippets.

@oiooj
Forked from jpillora/go-get-gitlab-ssh-nginx
Created January 14, 2016 08:48
Show Gist options
  • Save oiooj/ddccbda4cc6b66ec6172 to your computer and use it in GitHub Desktop.
Save oiooj/ddccbda4cc6b66ec6172 to your computer and use it in GitHub Desktop.
Go get Gitlab ssh paths with nginx
location / {
## check for goget AND /namespace/project
if ($args ~* "^go-get=1") {
set $condition goget;
}
if ($uri ~ ^/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$) {
set $condition "${condition}path";
}
if ($condition = gogetpath) {
return 200 "<!DOCTYPE html><html><head><meta content='git.axon$uri git ssh://git@gitlab.mycompany.com:2200$uri.git' name='go-import'></head></html>";
}
## https://github.com/gitlabhq/gitlabhq/issues/694
## Some requests take more than 30 seconds.
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Ssl off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Frame-Options SAMEORIGIN;
# Proxy out to docker host, which maps back into gitlab
proxy_pass http://gitlab.mycompany.com:10080;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment