Nginx中配置http强制跳转到https访问

迅恒数据中心
Nginx中配置http强制跳转到https访问,怎么修改呢?
原来配置文件是这样的:
server
{
    listen 80;
    listen 443 SSL;
    #网站域名,请修改server_name对应的值,多域名用空格隔开!!!!!!!!!!!
    server_name seeisp.cn www.seeisp.cn;
    index index.php index.html index.htm default.php default.htm default.html;
    root C:/nginx/html;
    error_page 403 /50x.html;
    error_page 404 /50x.html;
    error_page 502 /50x.html;

    #SSL的pem和key的路径(./ssl/=C:\nginx\ssl\)请修改为!!!!!!!
    ssl_certificate    ./ssl/seeisp.cn_bundle.pem;
    ssl_certificate_key    ./ssl/seeisp.cn.key;
    #pem和key文件必须是UTF-8格式,不是UTF-8+BOM格式或其他格式
    #如果用记事本打开编辑,要另存为UTF-8格式,记事本默认保存会是UTF-8+BOM格式,会导致nginx无法启动
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
}

修改后【将80和443 分离,写在不同 server块里】:
server
{
    listen 80;
    #网站域名,请修改server_name对应的值,多域名用空格隔开!!!!!!!!!!!
    server_name seeisp.cn www.seeisp.cn;
    #自动跳 HTTPS
    return 301 https://$host$request_uri;
}

server
{
    listen 443 ssl;
    #网站域名,请修改server_name对应的值,多域名用空格隔开!!!!!!!!!!!
    server_name seeisp.cn www.seeisp.cn;
    index index.php index.html index.htm default.php default.htm default.html;
    root C:/nginx/html;
    error_page 403 /50x.html;
    error_page 404 /50x.html;
    error_page 502 /50x.html;

    #SSL的pem和key的路径(./ssl/=C:\nginx\ssl\)请修改为!!!!!!!
    ssl_certificate    ./ssl/seeisp.cn_bundle.pem;
    ssl_certificate_key    ./ssl/seeisp.cn.key;
    #pem和key文件必须是UTF-8格式,不是UTF-8+BOM格式或其他格式
    #如果用记事本打开编辑,要另存为UTF-8格式,记事本默认保存会是UTF-8+BOM格式,会导致nginx无法启动
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    #防止有人用http://域名:443访问
    error_page 497  https://$host$request_uri; 

}

分类:建站知识 百度收录 必应收录