纪录集及;nginx将流量从www重定向到常规的无www https

纪录集及;nginx将流量从www重定向到常规的无www https,nginx,cname,a-records,Nginx,Cname,A Records,我已经试着做了所有这些。但是没有用。我认为记录集可能胜过我的nginx配置 我有一个amazon实例,正在尝试找出如何通过https从www流量重定向到非www流量。似乎如果我在www.domain.com到domain.com之间设置了一个CNAME记录(不触摸我的nginx配置),所有东西都会被提供,但www永远不会消失。事情仍然被重定向到https,但由于证书不知道子域www,我在浏览器中通过https得到了一个红色的X,并且这个站点是不受信任的页面 然后我尝试从www.domain.co

我已经试着做了所有这些。但是没有用。我认为记录集可能胜过我的nginx配置

我有一个amazon实例,正在尝试找出如何通过https从www流量重定向到非www流量。似乎如果我在www.domain.com到domain.com之间设置了一个CNAME记录(不触摸我的nginx配置),所有东西都会被提供,但www永远不会消失。事情仍然被重定向到https,但由于证书不知道子域www,我在浏览器中通过https得到了一个红色的X,并且这个站点是不受信任的页面

然后我尝试从www.domain.com到我的ip地址建立另一个A记录。这似乎也有同样的效果。无论我做什么,我似乎都无法通过更改NGINX配置来改变任何东西。这是我的档案:

server {
    listen 80;
    server_name  www.domain.co;
    return 301 https://domain.co$request_uri;
}
server {
    listen      80;
    server_name domain.co;
    root /home/ubuntu/web/dev.domain.com;
    location /static/ {
        # if asset versioning is used
        if ($query_string) {
            expires max;
        }
    }
    location / {
        return 301 https://domain.co$request_uri;
    }
}
server {
    listen 443 ssl; #SSL
    server_name pennypledge.co;

    access_log /home/ubuntu/web/dev.domain.com/logs/access.log;
    error_log  /home/ubuntu/web/dev.domain.com/logs/error.log;

    # no security problem here, since / is alway passed to upstream
    root /home/ubuntu/web/dev.domain.com;

    ssl_certificate /etc/nginx/ssl/ssl-unified.crt;
    ssl_certificate_key /etc/nginx/ssl/nginx.key;

    # serve directly - analogous for static/staticfiles
    location /media/ {
        # if asset versioning is used
        if ($query_string) {
            expires max;
        }
    }
    location /static/ {
        # if asset versioning is used
        if ($query_string) {
            expires max;
        }
    }
    location / {
        uwsgi_pass   unix:///home/ubuntu/web/dev.domain.com/ppuwsgi.sock;
        include      uwsgi_params;
    }

    # what to serve if upstream is not available or crashes
    error_page 400 /static/400.html;
    error_page 403 /static/403.html;
    error_page 404 /static/404.html;
    error_page 500 502 503 504 /static/500.html;

    # Compression
    gzip on;
    gzip_http_version 1.0;
    gzip_comp_level 5;
    gzip_proxied any;
    gzip_min_length  1100;
    gzip_buffers 16 8k;
    gzip_types text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
    # Some version of IE 6 don't handle compression well on some mime-types,
    # so just disable for them
    gzip_disable "MSIE [1-6].(?!.*SV1)";
    gzip_vary on;
}

首先,我不知道您是如何测试的,但请确保您没有点击缓存浏览器的响应。第二,显示您的完整配置。CNAME是一种从现有DNS记录解析IP地址的机制,它不会更改任何有关请求的域名的信息。我在google chrome中使用匿名浏览器,因此它不应该缓存任何内容。因此,只要设置了CNAME,那么我的nginx配置就应该能够点击它并正确重定向?添加了配置的其余部分。