Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache Subversion Edge将服务器边缘解析为CollabNet登录页面_Apache_Svn_Reverse Proxy_Subversion Edge - Fatal编程技术网

Apache Subversion Edge将服务器边缘解析为CollabNet登录页面

Apache Subversion Edge将服务器边缘解析为CollabNet登录页面,apache,svn,reverse-proxy,subversion-edge,Apache,Svn,Reverse Proxy,Subversion Edge,我已经在我的服务器上安装了Subversion Edge。假设我的网站是myweb.com。要访问主存储库(称为main),用户必须转到https://myweb.com/svn/main。或者,他们可以转到https://myweb.com/viewvc查看所有回购协议。如果他们想登录并更改密码,他们必须转到https://myweb.com:4434。我想申请https://myweb.com解析到此登录页面,而不是简单地说“它可以工作!”的页面 通过Apache和/或Subversion边

我已经在我的服务器上安装了Subversion Edge。假设我的网站是
myweb.com
。要访问主存储库(称为
main
),用户必须转到
https://myweb.com/svn/main
。或者,他们可以转到
https://myweb.com/viewvc
查看所有回购协议。如果他们想登录并更改密码,他们必须转到
https://myweb.com:4434
。我想申请
https://myweb.com
解析到此登录页面,而不是简单地说“它可以工作!”的页面

通过Apache和/或Subversion边缘配置,这是可能的吗

编辑:我已将其添加到我的
httpd.conf
。当我将浏览器指向
https://myweb.com/ach
它只是挂起

LoadModule proxy_module lib/modules/mod_proxy.so
LoadModule proxy_http_module lib/modules/mod_proxy_http.so

ProxyPreserveHost On
ProxyPass /ach http://myweb.com:4434/
ProxyPassReverse /ach http://myweb.com:4434/

#ProxyPreserveHost On
#<Location /agh>
#       ProxyPass https://myweb.com:4434/
#       ProxyPassReverse http://myweb.com:4434/
#</Location>
LoadModule proxy\u module lib/modules/mod\u proxy.so
LoadModule proxy\u http\u module lib/modules/mod\u proxy\u http.so
代理主机
ProxyPass/achhttp://myweb.com:4434/
ProxyPassReverse/achhttp://myweb.com:4434/
#代理主机
#
#ProxyPasshttps://myweb.com:4434/
#ProxyPassReversehttp://myweb.com:4434/
#

https://myweb.com:4434
由嵌入式web服务器(我想是Tomcat)提供服务

因此,您可以从到设置Apache反向代理

但是,您需要在不影响下的现有路径的情况下执行此操作,因此这有点棘手。我建议将其分为两部分:

首先,设置一个从到的反向代理,然后在该代理工作后,设置一个从到的重定向或重写规则


这两个都可以在Apache配置中完成。

我相信您希望在http(端口80)或https(端口443)上的默认标准端口上运行Edge console。标准端口需要额外设置。有两个选项允许使用端口80或443。只有一个或另一个是必需的,并且都需要root权限才能进行设置

方法1:使用绑定助手应用程序。 httpd_bind是CollabNet Subversion Edge中包含的一个小型应用程序,它允许服务器访问标准端口,而不需要服务器本身以提升的权限运行。为了使其工作,httpd_bind必须由root所有,并设置其suid位,如下面的命令所示。这些必须作为root或sudo执行

chown root:jeyanthan/path/to/csvn/lib/httpd_bind/httpd_bind chmod u+s/path/to/csvn/lib/httpd_-bind/httpd_-bind

注意:“jeyanthan”是用于解除应用程序的用户名

方法2:在sudo下启动httpd svn服务器可以使用root权限启动,允许它绑定到端口,之后服务器将降低其权限。要使用此方法并允许从管理控制台启动和停止服务器,请为httpd二进制文件设置sudo,使其在无密码的情况下工作

使用“/usr/sbin/visudo”将以下两行添加到sudoers文件的末尾:

默认值env_keep+=“PYTHONPATH”jeyanthan ALL=(ALL)NOPASSWD: /路径/to/csvn/bin/httpd


我一直在尝试设置这个,但还没有让它工作。我在我的问题中添加了我尝试过的内容。好的,尝试将代理指向Subversion边缘HTTPS url可能有问题。尝试允许http://access访问Subversion Edge,然后将Apache反向代理指向该URL。如果我错了,请纠正我,但这是为了让主Apache服务器在标准端口上运行。但是Apache与Console服务器不同。