Skip to content

Instantly share code, notes, and snippets.

@RaviTezu
Forked from jpillora/go-get-gitlab-ssh-nginx
Created November 1, 2016 04:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save RaviTezu/740286ebeea3aa53f7b4ec35245fdcda to your computer and use it in GitHub Desktop.
Save RaviTezu/740286ebeea3aa53f7b4ec35245fdcda 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