我正在尝试安装 SVN 服务器并将其与我的 NGINX 网络服务器一起使用。我已
在 nginx/sites-enabled/svn 中的服务器部分尝试过此操作,我已添加了此内容
位置 /var/svn/repos { 代理密码 http://127.0.0.1:81; #包括/etc/nginx/proxy.conf; 设置$目标$http_destination; 如果 ($http_destination ~ "^https://(.+)") { 设置$dest http://$1; } proxy_set_header 目的地$dest; }
我在端口 81 上运行 apache,并创建了 100% 在 apache 上运行的虚拟主机。现在,每当我尝试 svn checkout 时,我都会得到以下信息:
$ svn co http://svn.mysite.com/myrepo svn:服务器在响应“http://svn.mysite.com/myrepo”的 OPTIONS 请求时发送了意外的返回值(500 内部服务器错误)
在错误日志中我有这个
2012/04/18 07:43:36 [错误] 9914#0:*106 重写或内部重定向循环,而内部重定向至“/index.html”,客户端:93.95.201.250,服务器:mysite.com,请求:“GET /myrepo HTTP/1.1”,主机:“svn.mysite.com”
有人知道如何在 nginx 上安装 svn 服务器吗?任何想法都非常感谢?
谢谢你的帮助
答案1
我已经成功做到了这一点。您可能可以进一步简化它,但它可能会为您提供一个有效的配置。
在 nginx.conf(或 /etc/nginx/conf.d 下的其他 .conf 文件中):
location /var/svn/repos {
# the "proxy_set_header Destination"-stuff is moved to apache's config - see below
proxy_pass http://127.0.0.1:81/var/svn/repos;
}
然后在 /etc/httpd/conf.d/subversion.conf
...
<VirtualHost *:81>
RequestHeader edit Destination ^https http early
<Location /var/svn/repos>
DAV svn
SVNPath /var/svn/repos
</Location>
</VirtualHost>