diff --git a/lib/support/nginx/gitlab b/lib/support/nginx/gitlab
index c8b769ace8e0bdce9ed5f32c7d15390786d3932a..ab6ca6e6260a7d4c38b19e09da8cbbf069c55e99 100644
--- a/lib/support/nginx/gitlab
+++ b/lib/support/nginx/gitlab
@@ -56,6 +56,21 @@ server {
     try_files $uri $uri/index.html $uri.html @gitlab;
   }
 
+  ## If ``go get`` detected, return go-import meta tag.
+  ## This works for public and for private repositories.
+  ## See also http://golang.org/cmd/go/#hdr-Remote_import_paths
+  if ($http_user_agent ~* "Go") {
+    return 200 "
+      <!DOCTYPE html>
+      <html lang='en'>
+      <head>
+      <meta charset='utf-8'>
+      <meta content='$host$uri git $scheme://$host$uri.git' name='go-import'>
+      </head>
+      <body></body>
+      </html>";
+  }
+
   ## If a file, which is not found in the root folder is requested,
   ## then the proxy passes the request to the upsteam (gitlab unicorn).
   location @gitlab {
diff --git a/lib/support/nginx/gitlab-ssl b/lib/support/nginx/gitlab-ssl
index 4e53d5e8b50b1660d8ef328dd4593a194dc6ec33..1903c9aa4fbce424523de621c47510f552fd86be 100644
--- a/lib/support/nginx/gitlab-ssl
+++ b/lib/support/nginx/gitlab-ssl
@@ -101,6 +101,21 @@ server {
     try_files $uri $uri/index.html $uri.html @gitlab;
   }
 
+  ## If ``go get`` detected, return go-import meta tag.
+  ## This works for public and for private repositories.
+  ## See also http://golang.org/cmd/go/#hdr-Remote_import_paths
+  if ($http_user_agent ~* "Go") {
+    return 200 "
+      <!DOCTYPE html>
+      <html lang='en'>
+      <head>
+      <meta charset='utf-8'>
+      <meta content='$host$uri git $scheme://$host$uri.git' name='go-import'>
+      </head>
+      <body></body>
+      </html>";
+  }
+
   ## If a file, which is not found in the root folder is requested,
   ## then the proxy passes the request to the upsteam (gitlab unicorn).
   location @gitlab {