2017-02-26 8 views
1

Nginx(Apacheではなく)でhttp経由でGitリポジトリを設定するのは初めてです 私はthis guideを見つけました。 Nginxによってプロキシされたhttp経由でgitリポジトリへの変更をプッシュできません

私は、私はクライアントからのメッセージ次しまった私は、リモートリポジトリに変更をプッシュしようとすると、しかし、リポジトリを作成し、 git cloneコマンドを使用することができました

#git push origin master 
XML error: not well-formed (invalid token) 
error: no DAV locking support on http://192.168.80.128/git/it-knowledge.git/ 
fatal: git-http-push failed 
誰が何の過ちを把握するために私を助けてもらえ

I製 ? DAVロックのサポートについて、ApacheでDAVロックファイルに関するいくつかのスレッドを検索しましたが、変更を正常にプッシュするためにNginXに同等の設定がありますか?以下は

はgitのパスのための私のnginxの設定ファイルです、私のnginxのは、すでにこのガイドでは、 2010 articleを指し --with-http_dav_moduleオプション

server { 
    listen  80; 
    server_name 192.168.80.128; 
    client_body_temp_path /tmp/client_temp; 
    location ~ /git(/.*) { 
     dav_methods PUT DELETE MKCOL COPY MOVE; 
     create_full_put_path on; 
     dav_access user:rw group:rw all:rw; 
     autoindex on; 
     client_max_body_size 10G; 
     fastcgi_pass localhost:9000; 
     include  fastcgi_params; 
     fastcgi_param SCRIPT_FILENAME  /usr/libexec/git-core/git-http-backend; 
     fastcgi_param GIT_HTTP_EXPORT_ALL ""; 
     fastcgi_param GIT_PROJECT_ROOT /srv/git; 
     fastcgi_param PATH_INFO   $1; 
    } 
} 

答えて

0

と一緒にインストールされました。
同様の構成は、in this gist

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; 
} 

は(最近の十分なGitのバージョンで)あなたのレポは~になっていることを確認し、そして/usr/lib/git-core/git-http-backendが存在しないこと

です