wangbin
  • wangbin
  • 2018-09-23
  • IT

https://协议访问的svn服务搭建(4):最后的配置

一. 简介

之前的centos6.7安装svn只是搭建了个svn://协议访问的svn服务,这次记录下https://协议访问的svn服务的搭建过程。

计划写4篇,这是第四篇,最后的配置。

前面已经装好了apache和svn,下面我们来做最后的配置吧

  1. apache的配置
  2. nginx的配置

二. apache配置

支持http访问svn

<VirtualHost *:9090>
    ServerName svn.wangbin.io

    LoadModule dav_module           modules/mod_dav.so
    LoadModule dav_svn_module       modules/mod_dav_svn.so
    LoadModule authz_svn_module     modules/mod_authz_svn.so

    <Location />
        DAV svn
        SVNListParentPath on
        SVNParentPath /var/svn/repos
        AuthType Basic
        AuthName "Subversion repos"
        AuthUserFile /var/svn/conf/passwd
        AuthzSVNAccessFile /var/svn/conf/authz
        Require valid-user
    </Location>

</VirtualHost>

三. nginx配置

https代理访问上面的apache

# svn.wangbin.io;
server {

    listen       50443 ssl http2;
    listen       [::]:50443 ssl http2;

    server_name  svn.wangbin.io;

    access_log  logs/wangbin.io/access-svn.wangbin.io.log siyou325;
    error_log   logs/wangbin.io/error.log;

    ssl_certificate             /vps/certificate/acme/*.wangbin.io/fullchain.cer;
    ssl_certificate_key         /vps/certificate/acme/*.wangbin.io/*.wangbin.io.key;
    ssl_trusted_certificate     /vps/certificate/acme/*.wangbin.io/fullchain.cer;

    # svn上传文件最大50m
    client_max_body_size 50m; 

    location / {
        proxy_pass http://127.0.0.1:9090;
        proxy_set_header Host $host;
        proxy_set_header X-Real-Host $host;
        proxy_set_header X-Real-Ip $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    # 禁止访问.svn目录,防止svn信息泄漏,必加项
    location ~ ^(.*)\/\.svn\/ {
        deny all;
    }

}

六.验证

执行

# 重新加载apache配置
/usr/local/bin/apachectl -t
/usr/local/bin/apachectl graceful

# 重新加载nginx配置
/usr/local/bin/nginx -t 
/usr/local/bin/nginx -s reload

浏览器访问https://svn.wangbin.io,输入用户名和密码输,顺利访问svn服务,配置成功。

PS:

如果没有弹出用户名和密码输入框,使用下面命令,检查apache是否配置成功

curl -H 'Host:svn.wangbin.io' http://127.0.0.1:9090

返回401 Unauthorized,则配置正确,否则检查nginx配置是否正确。

七.结尾

这样,

我们就可以使用https协议访问svn啦。