出于安全考虑,在gerrit服务器上使用Nginx代理打开了SSL,并配置了440端口作为访问服务器的端口。
由于文件比较多,计划使用LFS进行管理,服务器端使用lfs插件,并成功启动。可是上传LFS文件失败,使用GIT_TRACE=1进行调试,发现POST时使用的链接是https链接,可是PUT时使用的是http,端口是80,而不是服务器上配置的440端口,所以失败,错误类型:connection refused。
- Nginx中将440作为访问服务器的端口,并将其转移到本地的gerrit端口(比如8080),转移配置时必须使用http开头的链接。
- 开启SSL之后,gerrit.config中的gerrit.canonicalWebUrl和httpd.listenUrl一直都是使用http链接,由于没有影响gerrit正常功能,所以一直没有修改。
不过这个也有个问题,就是gerrit上的commit,fetch链接都是http链接,而不是https。 - 尝试单独修改gerrit.canonicalWebUrl为https链接,重启gerrit后,网页不能正常访问,查询资料之后发现httpd.listenUrl配置不正确,需要在将其配置为
proxy-https://*.8080 - 重启gerrit,一切正常,LFS也工作正常。
版权声明:本文为weixin_42309693原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。