首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IIS7代理的RhodeCode

IIS7代理的RhodeCode
EN

Stack Overflow用户
提问于 2011-10-22 22:39:36
回答 3查看 1.7K关注 0票数 2

我在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中,我设置了以下服务器变量,并在反向代理规则中设置它们:

代码语言:javascript
复制
<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

EN

回答 3

Stack Overflow用户

发布于 2012-08-07 22:38:30

Itvan是正确的,这是可行的。

取消注释clone_uri将保留默认的clone_uri。您可以强制clone_uri使用您的域,方法是:

代码语言:javascript
复制
clone_uri = {scheme}://{user}{pass}[subdomain.domain.de]{path}

PS: 1.3.6版作品

票数 2
EN

Stack Overflow用户

发布于 2011-10-25 18:50:39

现在,我正在centos6上用apache对https进行反向代理。

对于Apache,著名的marcin注意到的构形是:

代码语言:javascript
复制
<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可能是最好的选择。

票数 1
EN

Stack Overflow用户

发布于 2012-03-23 12:19:48

我刚刚安装了RhodeCode 1.3.3并讨论了这个问题。您可以在配置文件中编辑这一行以使其工作:

代码语言:javascript
复制
## 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}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7863091

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档