打开浏览器直接进入网站,苏州建设交通学校网站首页,网站聊天怎么做,昆明网站建设公司多少钱git 克隆远程仓库时默认使用 gnutls#xff0c;正常情况下没有任何问题。当使用 gitlab 时#xff0c;如果把 gitlab 放在代理后面#xff08;如#xff1a;放在 nginx 后面#xff09;#xff0c;则可能会出问题。例如报错#xff1a;gnutls_handshake() failed: Hands…git 克隆远程仓库时默认使用 gnutls正常情况下没有任何问题。当使用 gitlab 时如果把 gitlab 放在代理后面如放在 nginx 后面则可能会出问题。例如报错gnutls_handshake() failed: Handshake failed。此时可以通过自己编译使用 OpenSSL 的 git 来解决这个问题。
上面的问题已经确定报错是因为 nginx 配置 SSL 时允许的加密算法和 git 客户端使用的加密算法不一致导致。低版本 git 客户端可能会使用 RC4-SHA 算法但由于这个算法本身强度不够一般 nginx 配置中都不会使用 RC4-SHA。
环境准备
apt install -y build-essential
apt install -y libcurl4-openssl-dev
# 安装其他编译依赖
apt-get build-dep git编译 git
# 克隆源代码
git clone gitgithub.com:git/git.git
cd git# 可选删除老版本 git
apt remove git*make configure
# 指定要安装到的位置
./configure --prefix/usr
# 编译源代码和文档。如果不需要文档则删除 doc
make all doc
# 安装到指定位置。如果不需要文档则删除 install-doc
make install install-doc