网站服务器运行在Raspberry pi下,我将路由器上原来的nfs等等服务
同样搬到了pi下,原来路由器上还运行一个git的服务器,但既然现在运行
的硬件环境比原来好了,就准备换成gerrit了。
发现gerrit支持http的push,这样就比ssh的那一串方便多了。就想配
置一下,折腾了许久,才折腾成功。
以下是nginx侧的相关配置:
location /git/login/ {
stub_status on;
auth_basic "Restricted";
auth_basic_user_file /home/git/pwd;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8081;
}
location ^~ /git {
root /usr/share/nginx/html;
index index.html index.htm;
stub_status on;
auth_basic "Restricted";
proxy_pass http://127.0.0.1:8081;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
}
简要说明一下, /git/login/里的设置是通过网页访问时的授权设置,
这个设置保证但用户通过网页访问时,使用的密码配置文件使用的是
/home/git/pwd,这个文件是使用apache-utils中的htpasswd生成的。
~/git下面的访问,使用的是gerrit的密码授权管理,当通过http提交
代码的时候,使用的是gerrit的帐号和密码,这个密码和通过网
页是不一样的,在用户的setting->HTTP Password中生成的,这个密码是
一个随机的。这样子即保护了网页访问的安全性,也保证了提交
的安全性和访问的方便性。