gerrit服务器开启SSL后LFS上传失败

出于安全考虑,在gerrit服务器上使用Nginx代理打开了SSL,并配置了440端口作为访问服务器的端口。
由于文件比较多,计划使用LFS进行管理,服务器端使用lfs插件,并成功启动。可是上传LFS文件失败,使用GIT_TRACE=1进行调试,发现POST时使用的链接是https链接,可是PUT时使用的是http,端口是80,而不是服务器上配置的440端口,所以失败,错误类型:connection refused。

  1. Nginx中将440作为访问服务器的端口,并将其转移到本地的gerrit端口(比如8080),转移配置时必须使用http开头的链接。
  2. 开启SSL之后,gerrit.config中的gerrit.canonicalWebUrl和httpd.listenUrl一直都是使用http链接,由于没有影响gerrit正常功能,所以一直没有修改。
    不过这个也有个问题,就是gerrit上的commit,fetch链接都是http链接,而不是https。
  3. 尝试单独修改gerrit.canonicalWebUrl为https链接,重启gerrit后,网页不能正常访问,查询资料之后发现httpd.listenUrl配置不正确,需要在将其配置为
    proxy-https://*.8080
  4. 重启gerrit,一切正常,LFS也工作正常。

版权声明:本文为weixin_42309693原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。