我在Windows2008R2(64位)框中安装了RhodeCode 1.2.2。
我为运行在127.0.0.1:5000的RhodeCode设置了一个IIS7作为代理服务器(应用程序请求路由+ URL重写)。
存储库可以通过"https://subdomain.domain.de"“访问。
在存储库摘要中,Clone url指向:https://[username]@127.0.0.1:5000/SomeProject
在客户端,当将"127.0.0.1:5000“替换为"subdomain.domain.de”时,我可以克隆存储库。
当然,我希望RhodeCode显示代理url ("subdomain.domain.de")而不是127.XXX.
我在网上上下搜索,唯一发现的就是Apache有一个"ProxyPreserveHost On“设置,这很有用。然而,我没有为IIS找到任何类似的东西。
在"production.ini“中是否有我可以定义代理url的设置?还是有人在IIS中找到了隐藏良好的设置?
任何帮助都是非常感谢的:)
谢谢你的回答!我已经使用了ARR并设置了反向代理,我可以通过代理访问RhodeCode。但是,看起来HTTP_HOST值没有被转发到paster。
在IIS中,我设置了以下服务器变量,并在反向代理规则中设置它们:
<set name="HTTP_HOST" value="[subdomain.domain.de]" />
<set name="HTTP_X_FORWARDED_SERVER" value="[subdomain.domain.de]" />
<set name="HTTP_X_ORIGINAL_HOST" value="[subdomain.domain.de]" />
<set name="HTTP_X_HTTP_HOST" value="[subdomain.domain.de]" />
<set name="HTTP_X_URL_SCHEME" value="https" />但这一点都没有影响。
在前面链接的答案中,他建议将这些变量值复制回HTTP_HOST (在tomcat中,在我的例子中应该更贴图)。在我看来,这与apache中的一个简单的"ProxyPreserveHost On“比较起来有点过分了。我觉得我漏掉了什么东西。
干杯,S rnt
发布于 2012-08-07 22:38:30
Itvan是正确的,这是可行的。
取消注释clone_uri将保留默认的clone_uri。您可以强制clone_uri使用您的域,方法是:
clone_uri = {scheme}://{user}{pass}[subdomain.domain.de]{path}PS: 1.3.6版作品
发布于 2011-10-25 18:50:39
现在,我正在centos6上用apache对https进行反向代理。
对于Apache,著名的marcin注意到的构形是:
<VirtualHost *:80>
ServerName hg.myserver.com
ServerAlias hg.myserver.com
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
#important !
#Directive to properly generate url (clone url) for pylons
ProxyPreserveHost On
#rhodecode instance
ProxyPass / http://127.0.0.1:5000/
ProxyPassReverse / http://127.0.0.1:5000/
#to enable https use line below
#SetEnvIf X-Url-Scheme https HTTPS=1
</VirtualHost>有关ProxyPreserveHost的IIS等价物,请参见应用请求路由,它是在MSFT MVP先前的回答中提供的。
http服务器实际上是python粘贴的httpserver,所以引用httpserver的python粘贴文档 (egg#Paste:http是熟悉的右),没有代理配置。您将不得不IIS中的反向代理 (来源)
我不知道为什么marcin建议设置反向代理,而不是使用粘贴的httpserver对https的支持;但让IIS字段处理请求,并将粘贴的httpserver绑定到127.0.0.1可能是最好的选择。
发布于 2012-03-23 12:19:48
我刚刚安装了RhodeCode 1.3.3并讨论了这个问题。您可以在配置文件中编辑这一行以使其工作:
## overwrite schema of clone url
## available vars:
## scheme - http/https
## user - current user
## pass - password
## netloc - network location
## path - usually repo_name
#clone_uri = {scheme}://{user}{pass}{netloc}{path}
clone_uri = {scheme}://{user}{pass}yourdomain.com{path}https://stackoverflow.com/questions/7863091
复制相似问题