503 error pushing to remote

前端 未结 2 876
醉梦人生
醉梦人生 2020-12-18 06:37

I am encountering a 503 error pushing to Github:

$ git push github develop
Counting objects: 22, done.
Delta compression using up to 8 threads.
Compressing o         


        
相关标签:
2条回答
  • 2020-12-18 07:02

    I faced the same issue. Tried setting my global email to my account's email as:

    git config ---global user.email MY_GIT_EMAIL
    

    then tried

    git push
    

    and it worked for me.

    0 讨论(0)
  • 2020-12-18 07:11

    I had the same issue and fixed it by increasing the Git buffer size to the largest individual file size of my repo:

    git config --global http.postBuffer 157286400
    

    Afterwards, I could execute the push request without any problems:

    git push
    

    Here is a great explanation from Bitbucket Support:

    Cause

    The "Smart HTTP" protocol in Git uses "Transfer-Encoding: chunked" in POST requests when it contains packed objects greater than 1MB in size.

    Some proxy servers, like Nginx, do not support this transfer encoding by default, and the requests will be rejected before they get to Bitbucket Server. Because of this, the Bitbucket Server logs will not show any extra information.

    Another possible cause is a load balancer misconfiguration.

    Workaround

    • When pushing a large amount of data (initial push of a big repository, change with very big file(s)) may require a higher http.postBuffer setting on your git client (not the server). From https://www.kernel.org/pub/software/scm/git/docs/git-config.html

      http.postBuffer Maximum size in bytes of the buffer used by smart HTTP transports when POSTing data to the remote system. For requests larger than this buffer size, HTTP/1.1 and Transfer-Encoding: chunked is used to avoid creating a massive pack file locally. Default is 1 MiB, which is sufficient for most requests.

    • Configuration on your reverse proxy. Usually ngnix the parameter client_max_body_size is a blocker. The reverse proxy may also have a connection timeout that's closing the connection (e.g. Timeout or ProxyTimeout in Apache, proxy_read_timeout in ngnix). Try bypassing the proxy by pushing directly to Bitbucket Server IP:port. If this works, it's highly likely that the proxy server is causing the early disconnect and needs to be tuned.

    • User is using an outbound proxy on his machine that is causing the issue.

    Resolution

    • Increase the Git buffer size to the largest individual file size of your repo: git config --global http.postBuffer 157286400

    • Refer to the resolution of Git push fails - client intended to send too large chunked body for ngnix reverse proxy configuration. Increase this parameter to the largest individual file size of your repo.

    • Bypass the outbound proxy as explained on Can't clone or pull due to a git outbound proxy

    0 讨论(0)
提交回复
热议问题