我在 Windows 2008R2(64 位)机器上安装了 RhodeCode 1.2.2。
我已将 IIS 7 设置为在 127.0.0.1:5000 运行的 RhodeCode 的代理服务器(应用程序请求路由 + URL 重写)。
可通过“https://subdomain.domain.de”访问存储库。
在存储库摘要中,克隆 URL 指向: https://[用户名]@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 的类似内容。
“生产.ini”中是否有某个设置可以让我 定义代理网址? 或者有人发现了 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”相比,这对我来说有点过分了。我感觉我错过了一些东西。
干杯, 索恩特
最佳答案
Itvan 是正确的,这会起作用。
取消注释clone_uri 将保留默认的clone_uri。您可以通过以下行强制 clone_uri 使用您的域:
clone_uri = {scheme}://{user}{pass}[subdomain.domain.de]{path}
PS:适用于 1.3.6 版本
关于iis-7 - 由 IIS 7 代理的 RhodeCode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7863091/