Redirect CloudFront-CNAME不';在nginx中不匹配
我的发行版有两个CNAMES:example.com和www.example.com。我的目标是将www.example.com重定向到example.com CloudFront指向LoadBalancer,后者指向EC2机器。这台EC2机器为nginx服务 我的配置是:Redirect CloudFront-CNAME不';在nginx中不匹配,redirect,nginx,amazon-cloudfront,cname,Redirect,Nginx,Amazon Cloudfront,Cname,我的发行版有两个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/
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;
}
服务器{
听80;
服务器名称默认值;
access_log/var/log/nginx/default.access.log;
根/xxxx/;
index.html index.htm;
location/index.html{
添加_头“缓存控制”“公共,必须重新验证,代理重新验证,最大年龄=0”;
}
}
服务器{
听80;
服务器名称^(www\)(?.+)$;
返回301 https://$domain$request\u uri;
}
问题是“服务器名称”接收的是“XXX-YYY-ZZZ-WWW.ap-northeast-1.elb.amazonaws.com”,而不是CNAME(因此我没有获取域的信息)
有什么解决方案吗?您可以尝试在CloudFront中启用主机头的转发(请参阅此处的详细信息:)。然后,您应该在nginx配置中使用主机头值来触发重定向