【问题标题】:IIS forced https redirect causes 503 errorIIS 强制 https 重定向导致 503 错误
【发布时间】:2023-03-10 12:20:02
【问题描述】:

我在 AWS 上有一个由 Elastic Beanstalk 提供支持的负载平衡环境。 SSL 证书应用于负载均衡器。为了强制 https 重定向,我遵循了这篇文章Redirect to https through url rewrite in IIS within elastic beanstalk's load balancer 中接受的答案。这些是我在 web.config 中编写的确切代码行

 <rewrite>
  <rules>
    <rule name="Force Https" stopProcessing="true">
      <match url="healthcheck.html" negate="true" />
      <conditions>
        <add input="{HTTP_X_FORWARDED_PROTO}" pattern="https" negate="true" />
      </conditions>
      <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />
    </rule>
  </rules>
</rewrite>

但这会导致环境健康在发布后 5 分钟内变为红色,并且网站开始出现 503 错误。如果我删除它们,则没有错误。请帮我解决这个威胁,以便 https 重定向成功。在发布后的前 5 分钟内,http 请求成功重定向到 https。只有在 503 错误开始出现之后。

【问题讨论】:

    标签: amazon-web-services redirect ssl iis


    【解决方案1】:

    如果您的 ELB 报告 HTTP 状态代码 503,这通常意味着它后面没有运行良好的 EC2 实例。

    请参阅 ELB 故障排除指南:http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/ts-elb-error-message.html#ts-elb-errorcodes-http503

    所以现在的问题是为什么

    基本上,您的健康检查失败了。

    在您粘贴的代码的 sn-p 中,您强制将所有请求的 HTTP 重定向到 HTTPS,healthcheck.html 除外。这个想法是这个单一的排除应该是你的健康检查。

    要解决此问题:

    1. 确保对 EC2 实例进行运行状况检查,当通过 HTTP 直接访问 EC2 实例时返回 200。运行状况检查必须返回 200,否则 ELB 将无法通过检查,您的 EC2 实例将被视为不健康。

    2. 确保您的 ELB 配置运行状况检查与 EC2 实例运行状况检查路径匹配。在运行状况检查路径的开头包含一个前导 /

    3. 将运行状况检查路径放入您的&lt;rewrite&gt; 规则中,省略前导/。您可能需要在开头添加 ^,在末尾添加 $,因为这是正则表达式比较。

    如果&lt;rewrite&gt; 规则中的值与您 ELB 中的实际运行状况检查不匹配,则您的 ELB 将收到 HTTP 到 HTTPS 重定向响应,这被视为失败。

    【讨论】:

    • 嗨,马特,即使环境已启动,envurl/healthcheck.html 也会返回 404 错误。我也尝试从规则中删除该行,仍然没有帮助。
    • 所以您的问题是 /healthcheck.html 返回 404。您需要一个返回 200 的运行状况检查。那么 (a) 您的 EC2 实例上正确的运行状况检查是什么? (b) 将其放入您的 ELB 配置中,并且 (c) 将其放入 &lt;rewrite&gt; 规则中。
    • 我已经通过回答进行了调整以更好地解决问题。
    • 我如何知道我的实例的健康检查 url?我查看了控制台,但找不到它
    • 否,因为您的 EC2 实例不接受 HTTPS 连接。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-18
    • 2018-12-29
    • 2014-09-29
    • 2018-01-13
    • 2018-04-30
    • 2016-06-18
    • 2015-12-10
    相关资源
    最近更新 更多