| 
 
| Nginx环境 
 
 对域名(www.a.com)装了ssl证书
 
 然后做了http/https共存,做了301重定向 ,将a.com定到https://www.a.com
 
 
 测试打开a.com跳转到https://www.a.com 正常
 
 
 打开www.a.com 却是 http://www.a.com 不是我想要的https://www.a.com
 
 
 请问大神们这个怎么解决啊???
 
 
 http/https共存里我删了443这段 ,因为我的 m.a.com 需要http协议
 
   
 
 这是我的配置文件
 
 
 复制代码server
{
    listen 80;
        listen 443 ssl;
    server_name a.com www.a.com m.a.com img.a.com;
    index index.php index.html index.htm default.php default.htm default.html;
    root /www/wwwroot/aaa;
    #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
    #error_page 404/404.html;
        #301-START
                if ($host ~ '^a.com'){
                        return 301 https://www.a.com$request_uri;
                }
        #301-END
    ssl_certificate    /etc/letsencrypt/live/a.com/fullchain.pem;
    ssl_certificate_key    /etc/letsencrypt/a.com/privkey.pem;
    error_page 497  https://$host$request_uri;
 
    #SSL-END
    
    #ERROR-PAGE-START  错误页配置,可以注释、删除或修改
    error_page 404 /404.html;
    error_page 502 /502.html;
    #ERROR-PAGE-END
    
    #PHP-INFO-START  PHP引用配置,可以注释或修改
    include enable-php-56.conf;
    #PHP-INFO-END
    
    #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
    include /www/server/panel/vhost/rewrite/a.com.conf;
    #REWRITE-END
    
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
        access_log off; 
    }
    
    location ~ .*\.(js|css)?$
    {
        expires      12h;
        access_log off; 
    }
    access_log  /www/wwwlogs/a.com.log;
}
 
 
 
 | 
 |