【发布时间】:2018-09-13 14:45:40
【问题描述】:
我正在尝试使用反向 IIS 代理在单个服务器上通过 https 设置 UpSource 以及 YouTrack、TeamCity 和 Hub。
情况如下:
UpSource 的 http 版本位于 http://server.company.com:8081/upsource 并且工作正常。我希望它可以通过https://server.company.com/upsource 访问。但是,虽然可以通过 https 地址访问 UpSource,但连接会立即中断并出现以下错误消息:
Backend is not available
TypeError: Failed to fetch
考虑到后端似乎可用并且正在运行,因为 http://server.company.com:8081/upsource 运行良好。
至于我的配置,我主要按照the documentation 中概述的步骤进行设置,并在需要的地方进行修改以考虑到我们有四个 JetBrains 服务在单个服务器上运行并通过同一个 IIS 反向代理的事实.
IIS 代理的当前 web.config 内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<clear />
<rule name="Reverse Proxy to TeamCity" stopProcessing="true">
<match url="^teamcity(.*)" />
<action type="Rewrite" url="http://server.company.com{R:1}" />
</rule>
<rule name="Reverse Proxy to Hub" stopProcessing="true">
<match url="^hub(.*)" />
<action type="Rewrite" url="http://server.company.com:8082/hub{R:1}" />
<serverVariables>
<set name="HTTP_X_FORWARDED_HOST" value="{HTTP_HOST}" />
<set name="HTTP_X_FORWARDED_SCHEMA" value="https" />
<set name="HTTP_X_FORWARDED_PROTO" value="https" />
</serverVariables>
</rule>
<rule name="Reverse Proxy to YouTrack" stopProcessing="true">
<match url="^youtrack(.*)" />
<action type="Rewrite" url="http://server.company.com:8080/youtrack{R:1}" />
<serverVariables>
<set name="HTTP_X_FORWARDED_HOST" value="{HTTP_HOST}" />
<set name="HTTP_X_FORWARDED_SCHEMA" value="https" />
<set name="HTTP_X_FORWARDED_PROTO" value="https" />
</serverVariables>
</rule>
<rule name="Reverse Proxy to UpSource" stopProcessing="true">
<match url="^upsource(.*)" />
<action type="Rewrite" url="http://server.company.com:8081/upsource{R:1}" />
<serverVariables>
<set name="HTTP_X_FORWARDED_HOST" value="{HTTP_HOST}" />
<set name="HTTP_X_FORWARDED_SCHEMA" value="https" />
<set name="HTTP_X_FORWARDED_PROTO" value="https" />
</serverVariables>
</rule>
<rule name="Reverse Proxy to Collaboration General" stopProcessing="true">
<match url="(.*)" />
<action type="Rewrite" url="http://server.company.com/{R:1}" />
</rule>
</rules>
</rewrite>
<security>
<requestFiltering>
<requestLimits maxUrl="6144" maxQueryString="4096" />
</requestFiltering>
</security>
</system.webServer>
</configuration>
正如我所提到的,这已经适用于 TeamCity 和 Hub。但是,对于 UpSource,似乎仍然缺少一些东西,这可能与“TypeError: Failed to fetch”有关。我已经尝试过查找,但到目前为止找不到任何有用的信息。
如果有人对如何解决此问题有任何想法,我很乐意就此获得更多意见
【问题讨论】:
标签: iis https typeerror reverse-proxy upsource