https://协议访问的svn服务搭建(4):最后的配置
一. 简介
之前的centos6.7安装svn只是搭建了个svn://协议访问的svn服务,这次记录下https://协议访问的svn服务的搭建过程。
计划写4篇,这是第四篇,最后的配置。
前面已经装好了apache和svn,下面我们来做最后的配置吧
- apache的配置
- 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啦。