IIS 等效于 "proxy_set_header X-Forwarded-Proto https;"

标签 iis nginx youtrack

NGINX 中此配置的 IIS 等价物是什么?
proxy_set_header X-Forwarded-Proto https;
我在 Windows 服务器上运行 JetBrains YouTrack,使用 IIS 作为终止 SSL 代理,并在尝试登录时收到此错误:

HTTP ERROR 405

Problem accessing /hub/auth/login. Reason:

    HTTP method POST is not supported by this URL
Powered by Jetty://

我的 web.config 看起来像这样:
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="Reverse Proxy" patternSyntax="ECMAScript" stopProcessing="true">
          <match url="(.*)" />
          <!-- Redirect all requests to non-HTTPS site. -->
          <action type="Rewrite" url="http://my.youtrack.site/{R:1}" logRewrittenUrl="true" />
        </rule>
      </rules>
    </rewrite>
    <handlers>
      <clear />
      <!-- No other handlers required. Must clear them otherwise ASP.NET might try to intercept *.svc paths etc. -->
      <add name="Rewrite" path="*" verb="*" modules="RewriteModule" resourceType="Unspecified" />
    </handlers>
  </system.webServer>
</configuration>

我正在尝试遵循以下来源的解决方案:https://confluence.jetbrains.com/display/YTD65/Linux.+JAR+in+Nginx+Web+Server , 但对于 IIS

最佳答案

找到后解决https://confluence.jetbrains.com/display/YTD65/Configuring+Proxy#ConfiguringProxy-IISreverseproxy

<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="Reverse Proxy" patternSyntax="ECMAScript" stopProcessing="true">
                    <match url="(.*)" />
                    <!-- Redirect all requests to non-HTTPS site. -->
                    <action type="Rewrite" url="http://my.youtrack.site/{R:1}" logRewrittenUrl="true" />
                    <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>
            </rules>
            <allowedServerVariables>
                <add name="HTTP_X_FORWARDED_HOST" />
                <add name="HTTP_X_FORWARDED_SCHEMA" />
                <add name="HTTP_X_FORWARDED_PROTO" />
            </allowedServerVariables>
        </rewrite>
        <handlers>
            <clear />
            <!-- No other handlers required. Must clear them otherwise ASP.NET might try to intercept *.svc paths etc. -->
            <add name="Rewrite" path="*" verb="*" modules="RewriteModule" resourceType="Unspecified" />
        </handlers>
    </system.webServer>
</configuration>

关于IIS 等效于 "proxy_set_header X-Forwarded-Proto https;",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34680786/

相关文章:

node.js - req.protocol 从不在 nginx 代理后面提供 https

spring-boot - 如何从 openssl 生成的 key 生成 X.509 证书

javascript - 我希望能够在网络上查看闭路电视屏幕

javascript - 如何禁用 YouTrack 工作流程中修改工作项?

iis - 我可以在 IIS 中拥有 'friendly' url 而无需重写 URL 吗?

asp.net - “附加到进程”在 Windows 7 中的 Visual studio 2008 中不起作用

IIS URL 重写和 .NET Core

bitbucket - 将 Bitbucket 转换为 Youtrack

intellij-idea - 如何使用 Google 帐户将 YouTrack 与 IntelliJ 集成?

asp.net - 从自定义 404 页面获取 Referer