【问题标题】:CloudFront - CNAME doesn't match in nginxCloudFront - CNAME 在 nginx 中不匹配
【发布时间】:2015-01-03 17:50:23
【问题描述】:

我有一个包含 2 个 CNAMES 的分布:example.com 和 www.example.com。我的目标是将 www.example.com 重定向到 example.com

CloudFront 指向 LoadBalancer,后者指向 EC2 机器。这台 EC2 机器服务于 nginx。

我的配置是:

server {
  listen   80;
  server_name default;
  access_log  /var/log/nginx/default.access.log;

  root   /xxxx/;
  index  index.html index.htm;

  location /index.html {
        add_header "Cache-Control" "public, must-revalidate, proxy-revalidate, max-age=0";
  }
}

server {
  listen  80;
  server_name ~^(www\.)?(?<domain>.+)$;
  return 301 https://$domain$request_uri;
}

问题是“server_name”收到“XXX-YYY-ZZZ-WWW.ap-northeast-1.elb.amazonaws.com”,而不是 CNAME(所以我没有获取域的信息) .

有什么办法吗?

【问题讨论】:

    标签: redirect nginx amazon-cloudfront cname


    【解决方案1】:

    您可以尝试在 CloudFront 中启用主机标头的转发(请参阅此处的详细信息:http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/header-caching.html)。然后你应该在你的 nginx 配置中使用 Host 头值来触发重定向

    【讨论】:

      猜你喜欢
      • 2021-02-10
      • 2012-03-29
      • 2020-08-06
      • 2022-11-24
      • 1970-01-01
      • 1970-01-01
      • 2018-03-01
      • 2021-12-26
      • 2016-06-26
      相关资源
      最近更新 更多