summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorSytse Sijbrandij <sytse@gitlab.com>2014-01-27 11:26:53 +0000
committerSytse Sijbrandij <sytse@gitlab.com>2014-01-27 11:26:53 +0000
commit7fc44a27a485e3348c0c021537253af0e35a8d49 (patch)
tree51948b62348f9c6c3baab496eccf160c180e5154 /lib
parentf87855ae3a41c287a0b183c3a19efa82f1dd166e (diff)
parentabae12891553e16d31e172bfc63bb4672139d353 (diff)
downloadgitlab-ce-7fc44a27a485e3348c0c021537253af0e35a8d49.tar.gz
Merge branch 'document_chunked_transfer' into 'master'
Document Chunked Transfer
Diffstat (limited to 'lib')
-rw-r--r--lib/support/nginx/gitlab14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/support/nginx/gitlab b/lib/support/nginx/gitlab
index c49dce501ab..764c34dc691 100644
--- a/lib/support/nginx/gitlab
+++ b/lib/support/nginx/gitlab
@@ -1,6 +1,20 @@
# GITLAB
# Maintainer: @randx
+# CHUNKED TRANSFER
+# It is a known issue that Git-over-HTTP requires chunked transfer encoding [0] which is not
+# supported by Nginx < 1.3.9 [1]. As a result, pushing a large object with Git (i.e. a single large file)
+# can lead to a 411 error. In theory you can get around this by tweaking this configuration file and either
+# - installing an old version of Nginx with the chunkin module [2] compiled in, or
+# - using a newer version of Nginx.
+#
+# At the time of writing we do not know if either of these theoretical solutions works. As a workaround
+# users can use Git over SSH to push large files.
+#
+# [0] https://git.kernel.org/cgit/git/git.git/tree/Documentation/technical/http-protocol.txt#n99
+# [1] https://github.com/agentzh/chunkin-nginx-module#status
+# [2] https://github.com/agentzh/chunkin-nginx-module
+
upstream gitlab {
server unix:/home/git/gitlab/tmp/sockets/gitlab.socket;
}