nginx+gerrit配置的密码访问

网站服务器运行在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中生成的,这个密码是
一个随机的。
这样子即保护了网页访问的安全性,也保证了提交
的安全性和访问的方便性。

发布者

rix

如果连自己都不爱自己,哪还有谁来爱你