SSL证书与Https应用部署-Nginx

  • admin
  • Linux笔记
  • 2017-05-12 00:05
  • 1144已阅读
简介 SSL证书与Https应用部署-Nginx

SSL证书与Https应用部署-Nginx

SSL是越来越重要了。
苹果宣布 2017 年 App Store 中的所用应用都必须使用 HTTPS 加密连接,
百度、Google 等搜索引擎优先收录 HTTPS 页面并提升排名,百度、阿里巴巴等互联网巨头均启用全站 HTTPS 加密,
新一代 HTTP/2 协议的支持需以 HTTPS 为基础。
这里用我们用[Let's Encrypt免费SSL]

Let's Encrypt是国外一个公共的免费SSL项目,由 Linux 基金会托管,它的来头不小,由Mozilla、思科、Akamai、IdenTrust和EFF等组织发起,目的就是向网站自动签发和管理免费证书,以便加速互联网由HTTP过渡到HTTPS,目前Facebook等大公司开始加入赞助行列。

开始安装(CentOS)

安装 Yum 源及 Certbot

yum install epel-release
yum install certbot

停止 Nginx

/etc/init.d/nginx stop

证书生成


服务器提供商 也提供免费证书 但是要申请 有的是收费的 期限一般是一年

certbot certonly --standalone --email 584096830@qq.com --agree-tos -d ceshi.opoop.cn #邮箱 域名要换成你的

看到如下提示代表证书生成成功

    IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/ceshi.opoop.cn/fullchain.pem. Your cert will
   expire on 2017-07-31. To obtain a new or tweaked version of this
   certificate in the future, simply run certbot again. To
   non-interactively renew *all* of your certificates, run "certbot
   renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

证书位置

/etc/letsencrypt/live/

配置证书(太长 截取了部分)

server
{
    listen 443 ssl;
    #listen [::]:80 default_server ipv6only=on;
    server_name www.wuwuseo.com;
    ssl_certificate /etc/letsencrypt/live/www.wuwuseo.com/fullchain.pem; #www.wuwuseo.com换成你的域名
    ssl_certificate_key /etc/letsencrypt/live/www.wuwuseo.com/privkey.pem; #www.wuwuseo.com换成你的域名
    ssl_ciphers "EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    index index.html index.htm index.php;

301跳转(访问域名自动跳转443端口)

server{
     listen 80;
     server_name www.wuwuseo.com;
     location /.well-known/ {
     add_header Content-Type 'text/plain;';
     root /ceshi/ceshi;
    }

     location / {
     return 301 https://www.wuwuseo.com$request_uri;
    }
}

启动 Nginx

/etc/init.d/nginx start

添加计划任务(SSL证书的有效期是90天,但是可以免费续签)

crontab -e #编辑计划任务
0 3 */7 * * /bin/certbot renew --renew-hook "/etc/init.d/nginx reload" #每7天更新一次


文章评论