将所有非 www HTTPS 请求重定向到 www HTTPS

Redirect all non www HTTPS request to www HTTPS

我想重定向来自 https://example.com to https://www.example.com 的所有请求。

我可以在没有 www 和有 www 的情况下访问该应用程序。

wwww.example.com 是应用程序负载均衡器的别名,还为应用程序配置了 ACM 证书。

目前,Route53 中配置的 DNS 实体。

请查找下面定义的网络负载均衡器规则。但是如果有人这样输入 https://example.com it doesn't direct to https://www.example.com.

规则:

Redirect tohttps://#{host}:443/#{path}?#{query}
Status code:HTTP_301

请建议我如何实现这种情况。

在 Application Load Balancer 中,您应该在 https 侦听器上设置侦听器规则,即侦听端口 443 的侦听器,它具有将主机从根更改为 www 子域的重定向操作。

#{host} 是原始主机,example.com,www.#{host} 因此是 www.example.com

重定向至:

  • 协议:#{协议}
  • 端口:#{端口}
  • 自定义主机:www.#{host}
  • 原路径:#{path}
  • 原始查询:#{query}
  • 301 - 永久移动

https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#redirect-actions