【问题标题】:IIS reverse proxy using regular proxy使用常规代理的 IIS 反向代理
【发布时间】:2019-11-25 10:51:30
【问题描述】:

我使用 IIS 作为反向代理。但是,只能通过“常规”代理访问目标页面。

目前我总是收到错误的网关错误。我的猜测是 IIS 的重写模块没有考虑系统的代理设置,因此无法连接到目标页面。

我必须为重写模块定义自己的代理设置吗?或者甚至可以在 IIS 的普通代理后面使用反向代理?

【问题讨论】:

    标签: iis proxy reverse-proxy


    【解决方案1】:

    根据您的描述,我建议您可以尝试在 applicatiohost.config 文件中添加代理设置。

    这将使所有请求使用代理发送到另一台服务器。

    更多细节,你可以参考下面的设置:

    相关文章:https://docs.microsoft.com/en-us/dotnet/framework/configure-apps/file-schema/network/defaultproxy-element-network-settings

    Applicationhost.config 文件路径:

    C:\Windows\System32\inetsrv\config\
    

    设置示例:

    <system.net>
        <defaultProxy>
          <proxy
            proxyaddress="http://10.0.2.231:42"
            bypassonlocal="true"
          />
        </defaultProxy>
    </system.net>
    

    【讨论】:

    • 感谢您的建议,不幸的是我无法解决我的问题。我尝试了“applicationHost.config”以及“web.config”中的设置。如果我使用 rewrtie 调用页面,我会收到错误代码“503.2”。
    • 据我所知,503.2 表示“超出了 serverRuntime@appConcurrentRequestLimit 设置。”错误。这意味着有太多的请求被发送到服务器。您能否告诉我您在 IIS 服务器中使用过其他 url 重写规则吗?
    • 服务器上确实有好几条重写规则。但这可能不是由于请求的数量,因为它是一个几乎没有流量的测试系统。其他重写正在工作,但它们也显示在语言环境站点上,有问题的重写指向互联网。