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,不須要加端口號)。git

配置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了。apache

Git配置SSL證書驗證

由於SSL證書是咱們本身製做的,因此git默認會驗證SSL證書,因此須要取消git SSL證書驗證: git config --global http.sslVerify falsespa

注意事項

  • 官方文檔會使用a2enmod該命令加載mod_proxy,但這針對的是Deb系統,對於Centos(報錯:a2enmod: command not found),不要緊,只要保證httpd.conf中有配置加載便可(配置了就會加載)。
  • 若是以上配置依然不能使用https進行訪問,能夠試着安裝 mod_ssl(不肯定是否必須), yum install -y mod_ssl
相關文章
相關標籤/搜索