• Gerrit增加SSL证书


    在http的基础上增加SSL

    配置gerrit.config文件

    [gerrit]
            basePath = git
            canonicalWebUrl = https://172.16.99.212/
    ......
    [httpd]
            listenUrl = proxy-https://127.0.0.1:8081/

    只需要把红色标记的两个地方改掉即可(172.16.99.212是主机Ip,不需要加端口号)。

    配置apache代理(/etc/httpd/conf/httpd.conf)

    <VirtualHost *:443>
      SSLEngine on
      SSLCertificateFile    /etc/httpd/conf/gerrit.crt
      SSLCertificateKeyFile /etc/httpd/conf/gerrit.key
    
      ServerName 172.16.99.212
    
      ProxyRequests Off
      ProxyVia Off
      ProxyPreserveHost On
    
      <Proxy *>
        Order deny,allow
        Allow from all
      </Proxy>
    
      AllowEncodedSlashes On
      ProxyPass / http://127.0.0.1:8081/ nocanon  #记住这里配置的值是http,而不是https
    </VirtualHost>

    先要使用OpenSSL生成证书,然后把证书配置进来。一般情况下apache的conf.d/目录下会有一个ssl.conf文件,里面已经配置了443端口,如果直接在httpd.conf下面再进行配置,不会覆盖ssl.conf中的配置(警告信息貌似是这个意思),所以可以直接在ssl.conf中定制这一段即可。重启apache和gerrit,现在就可以通过 https://172.16.99.211 访问gerrit了。

    Git配置SSL证书验证

    因为SSL证书是我们自己制作的,所以git默认会验证SSL证书,所以需要取消git SSL证书验证: git config --global http.sslVerify false

    注意事项

    • 官方文档会使用a2enmod该命令加载mod_proxy,但这针对的是Deb系统,对于Centos(报错:a2enmod: command not found),没关系,只要保证httpd.conf中有配置加载即可(配置了就会加载)。
    • 如果以上配置依然不能使用https进行访问,可以试着安装 mod_ssl(不确定是否必须), yum install -y mod_ssl
  • 相关阅读:
    redis整合springboot
    安装k8s
    线程池工具类几种实现
    数据库mysql注意点及sql优化
    五年规划
    在 Ubuntu 16.04 安装ROS Kinetic 教程
    谈谈form-data请求格式 js
    C# Body为form-data file文件上传至第三方接口 http请求
    .net c# 使用form-data方式发起http请求
    使用form-data和raw作为body发起POST请求的区别
  • 原文地址:https://www.cnblogs.com/zhangyanpei/p/5897459.html
Copyright © 2020-2023  润新知