You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用AWS负载均衡器将所有请求重定向到单个域名

当然可以实现!

AWS负载均衡器(尤其是Application Load Balancer,简称ALB)完全能帮你搞定这个重定向需求,结合Elastic Beanstalk使用也很顺畅。下面分场景给你具体的实现步骤:

一、优先方案:用ALB的监听器规则实现(推荐)

如果你的Elastic Beanstalk环境使用的是ALB(现在大部分新环境默认都是ALB),这是最直接高效的方式——负载均衡器直接处理重定向,不用请求打到后端服务器。

操作步骤:

  1. 登录AWS EC2控制台,找到Elastic Beanstalk环境对应的ALB(可以通过Elastic Beanstalk控制台的「配置」>「负载均衡器」查看ALB名称)。
  2. 切换到监听器标签页,找到你要配置的端口(比如HTTP 80或HTTPS 443),点击「查看/编辑规则」。
  3. 添加一条新规则:
    • 条件:选择「主机头」,匹配规则设为「不等于」,输入domain.com;或者用「匹配所有值」然后排除domain.com(具体看控制台选项,不同区域可能略有差异)。
    • 动作:选择「重定向」,然后配置:
      • 协议:根据你的需求选HTTP或HTTPS(推荐强制HTTPS)
      • 主机:固定为domain.com
      • 路径:选择$path(保留原请求路径)
      • 查询字符串:选择$query(保留原请求参数)
      • 状态码:选301(永久重定向)(对SEO友好)或302(临时重定向)
  4. 把这条重定向规则拖到所有规则的最顶部,确保非domain.com的请求先被匹配并重定向,剩下的正常转发到Elastic Beanstalk的目标组。

二、如果用的是经典负载均衡器(CLB)

CLB本身不支持基于主机头的重定向规则,这时候可以在Elastic Beanstalk的后端Web服务器(比如Nginx或Apache)里配置:

以Nginx为例:

在你的Elastic Beanstalk项目的.ebextensions目录下创建一个配置文件(比如nginx-redirect.config),内容如下:

files:
  "/etc/nginx/conf.d/redirect.conf":
    mode: "000644"
    owner: root
    group: root
    content: |
      server {
          if ($host != 'domain.com') {
              return 301 https://domain.com$request_uri;
          }
      }

部署这个配置后,Nginx会在收到非domain.com的请求时直接重定向。

以Apache为例:

同样在.ebextensions下创建apache-redirect.config:

files:
  "/etc/httpd/conf.d/redirect.conf":
    mode: "000644"
    owner: root
    group: root
    content: |
      RewriteEngine On
      RewriteCond %{HTTP_HOST} !^domain\.com$ [NC]
      RewriteRule ^(.*)$ https://domain.com$1 [L,R=301]

注意事项

  • 如果用HTTPS重定向,确保你的SSL证书覆盖了domain.com(如果有子域名也要包含,或者重定向后目标域名的证书有效)。
  • 配置完成后,一定要测试:用不同的主机头(比如test.com、www.otherdomain.com)访问,确认是否正确跳转到domain.com。
  • 如果你想让Elastic Beanstalk的配置持久化ALB规则,可以通过.ebextensions的CloudFormation模板来定义,不过手动配置控制台规则更直观灵活。

内容的提问来源于stack exchange,提问作者Anatol Zakrividoroga

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 14:32:27