簡體   English   中英

在沒有 S3 的 aws route 53 中將根域重定向到 www

[英]Redirect root domain to www in aws route 53 without S3

我想將我的根域重定向到www.domain.com 該站點使用 s3 CloudFront 和 route53 發布。

我已經看過很多關於如何使用 s3 進行重定向的文檔,但我不能這樣做,因為我的根域在某處已經有一個存儲桶。 所以我無法創建一個以我的根域為名稱的存儲桶。 另外,我懷疑這個 s3 重定向是否適用於 https 請求。

我還沒有看到任何關於在不使用 s3 存儲桶的情況下進行重定向的博客。

那么如何將 HTTP/https 根域重定向到 aws 中的 www 子域。

您不能使用 Route 53 進行重定向(畢竟它是 DNS 配置服務,而重定向是 HTTP 操作)。

如果您不能使用 S3,另一種解決方案可能是將 CloudFront 與Lambda@Edge function 一起使用。

如果主機名不是www域,您可以執行重定向www域。

function 可能與以下類似

def lambda_handler(event, context):
 
    request = event["Records"][0]["cf"]["request"]
    response = event["Records"][0]["cf"]["response"]
    # Generate HTTP redirect response with 302 status code and Location header.
    
    if request['headers']['host'][0]['value'] != 'www.example.com':
     
        response = {
            'status': '302',
            'statusDescription': 'Found',
            'headers': {
                'location': [{
                    'key': 'Location',
                    'value': 'https://www.example.com/{}' .format(request['uri'])
                }]
            }
        }
     
    return response

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM