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

如何在AWS中将.net、.co.uk及.org域名重定向至.com域名

解决多域名重定向到主.com域名的方案

我来帮你搞定这个多域名重定向的问题——S3单桶的重定向选项确实只能指定一个目标,没法直接处理多个非.com域名,但有两种靠谱的方案可以实现你的需求,下面给你详细拆解:

方案一:为每个非.com域名创建独立的S3重定向桶

这个方法比较直观,适合域名数量不多的情况,每个非.com域名对应一个专门用来做重定向的S3桶:

  • 创建匹配域名的S3桶:分别为.co.uk、.net、.org域名创建S3桶,桶名必须和域名完全一致(比如你的域名是example.co.uk,桶名就得是example.co.uk)。注意如果用静态网站托管,建议选择us-east-1区域,因为这个区域的静态网站端点格式更标准,Route53别名支持更顺畅。
  • 配置桶的重定向规则:
    1. 进入每个桶的“属性”页,找到“静态网站托管”选项,选择“Use this bucket to host a website”。
    2. 切换到“Redirect requests for an object”模式,在“Target bucket or domain”里填入你的主.com域名(比如example.com)。
    3. 协议选择https(和你的主站保持一致,确保重定向后是安全链接),然后勾选“Redirect all requests to another host name”,这样不管用户访问非.com域名的哪个路径,都会自动重定向到.com域名的对应路径。
  • 配置Route53解析:为每个非.com域名在Route53中创建A记录和AAAA记录,类型选择“Alias”,目标指向对应S3桶的静态网站端点(注意是带-website-的那个端点,不是REST API端点)。
  • 确认DNS生效:确保你已经在123-reg把这些域名的DNS服务器改成了Route53的NS服务器,这样Route53的记录才能生效。

方案二:用CloudFront + Lambda@Edge统一处理重定向

如果不想创建多个S3桶,这个方案更适合集中管理,通过CloudFront的边缘函数来统一判断并处理重定向:

  • 更新CloudFront配置:
    1. 把所有非.com域名添加到CloudFront分配的“备用域名(CNAMEs)”列表里。
    2. 确保你的ACM证书(必须在us-east-1区域申请)包含所有需要的域名(可以用通配符证书,比如*.example.com加上具体的非.com域名,或者直接包含所有域名)。
  • 创建Lambda@Edge函数:
    在us-east-1区域创建一个Node.js Lambda函数,用来判断请求域名并返回重定向响应,示例代码如下:
    exports.handler = (event, context, callback) => {
        const request = event.Records[0].cf.request;
        const host = request.headers.host[0].value;
        const targetDomain = 'example.com'; // 替换成你的主.com域名
        
        // 检查当前域名是否不是主域名
        if (!host.endsWith(`.${targetDomain}`) && host !== targetDomain) {
            // 构造重定向URL,保留原路径和查询参数
            const redirectUrl = `https://${targetDomain}${request.uri}${request.querystring ? `?${request.querystring}` : ''}`;
            
            const response = {
                status: '301',
                statusDescription: 'Moved Permanently',
                headers: {
                    location: [{
                        key: 'Location',
                        value: redirectUrl
                    }]
                }
            };
            callback(null, response);
        }
        
        // 如果是主域名,正常转发请求到S3源
        callback(null, request);
    };
    
  • 关联Lambda函数到CloudFront:把这个Lambda函数关联到CloudFront分配的“Viewer Request”事件上,这样每个请求到达CloudFront边缘节点时,都会先经过这个函数处理。
  • 配置Route53解析:为所有非.com域名创建A/AAAA别名记录,指向CloudFront分配的域名。

注意事项

  • 优先使用301永久重定向,这对SEO更友好,告诉搜索引擎把非.com域名的权重转移到主.com域名上。
  • 如果用S3重定向桶,不需要给桶设置公开访问权限,因为所有请求都会被重定向,不会返回桶内的内容。
  • ACM证书必须覆盖所有需要的域名,否则CloudFront会返回SSL错误。

内容的提问来源于stack exchange,提问作者Andy Furniss

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 10:08:17