美文网首页
Nginx设置全站HTTPS

Nginx设置全站HTTPS

作者: 我拿buff谢谢 | 来源:发表于2017-08-05 16:28 被阅读0次


    最近突然好多朋友要弄全站https,特意也整理了一下设置的方法

    一、准备证书

    首先科普一下SSL证书类型

    按审核方式分类:

    1.域名验证DV SSL证书

    2.企业验证OV SSL证书

    3.企业增强/扩展验证EV SSL证书

    按照功能分类

    1.多域名 UCC/SAN SSL证书

    2.强加密SGC SSL证书

    3.通配符Wildcard SSL证书

    4.代码签名Code Signing SSL证书

    申请证书过期不同代理商都不一样,自己领悟去吧,实验使用的是阿里云申请的免费DV SSL证书,只需要免费购买,填补一下资料即可。

    二、配置Nginx

    1.将下载的ssl证书上传到服务器

    2.#mkdir /opt/nginx/conf/key

    将对应server配置为如下

    server {

    server_name  test.test.cn;

    access_log  logs/host.access.log  main;

    listen 80;

    listen 443 ssl;##开放两个端口为了兼容http

    ssl_certificate  /opt/nginx/conf/key/test.test.cn.pem;

    ssl_certificate_key  /opt/nginx/conf/key/test.test.cn.key;

    ssl_session_timeout 5m;

    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

    ssl_prefer_server_ciphers on;

    location / {

    proxy_pass  http://upstream_group;

    proxy_set_header Host  $http_host;

    proxy_set_header Cookie $http_cookie;

    proxy_set_header X-Real-IP $remote_addr;

    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    proxy_set_header X-Forwarded-Proto $scheme;

    client_max_body_size  100m;

    add_header 'Access-Control-Allow-Origin' '*';

    add_header 'Access-Control-Allow-Credentials' 'true';

    add_header 'Access-Control-Allow-Methods' 'POST, GET, OPTIONS,PUT,DELETE';

    add_header 'Access-Control-Allow-Headers' '*,token';

    }

    }

    这样既可开启https。

    三、设置强制http跳转https

    1.虽然前面已经实现了https,但是你回发现登录后还是跳转回http,这时候需要开启全站https的话,则需要将http请求强制转为https

    加入如下配置

    if ($server_port = 80) {

    return 301 https://$server_name$request_uri;

    }


    相关文章

      网友评论

          本文标题:Nginx设置全站HTTPS

          本文链接:https://www.haomeiwen.com/subject/wbnilxtx.html