您的位置:首页 > 其它

Let's Encrypt 申请免费ssl证书 及 服务器配置

2018-11-21 15:38 337 查看

简介

Let's Encrypt 免费证书的出现,也会对传统提供付费SSL证书服务的商家有不小的打击。到目前为止,Let's Encrypt获得IdenTrust交叉签名,这就是说可以应用且支持包括FireFox、Chrome在内的主流浏览器的兼容和支持,虽然目前是公测阶段,但是也有不少的用户在自有网站项目中正式使用起来。

步骤

  1. 环境要求:Python 2.7 +  及  git
  2. 用git获取 letsencrypt  
    [code]# 获取letsencrypt
    
    git clone https://github.com/letsencrypt/letsencrypt
    
    # 进入letsencrypt目录
    
    cd letsencrypt
    
    # 生成证书
    
    ./letsencrypt-auto certonly --standalone --email 你的邮箱 -d xxx.xxx(域名) -d www.xxx.xxx

    注: 生成证书前请关闭服务器的apache或nginx,否则会生成失败

  3. 在完成Let's Encrypt证书的生成之后,我们会在"/etc/letsencrypt/live/xxx.xxx/"域名目录下有4个文件就是生成的密钥证书文件。

cert.pem -  used for OCSP stapling in Nginx >=1.3.7.

chain.pem - will break many server configurations, and should not be used without reading further documentation 

fullchain.pem - 在大多数服务器软件中使用的证书文件。

privkey.pem - 证书私钥

       如果我们使用的Nginx环境,那就需要用到fullchain.pem和privkey.pem两个证书文件,在部署Nginx的时候需要用到。在Nginx环境中,只要将对应的ssl_certificate和ssl_certificate_key路径设置成我们生成的2个文件就可以。

[code]# 打开linux配置文件,找到HTTPS 443端口配置的server
ssl on;
ssl_certificate /etc/letsencrypt/live/xxx.xxx/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/xxx.xxx/privkey.pem;

       如果我们使用的Apache环境

[code]# 找到ssl配置文件,打开ssl引擎,配置证书,秘钥地址
SSLEngine on
SSLCertificateFile      /etc/letsencrypt/live/xxx.xxx/fullchain.pem
SSLCertificateKeyFile  /etc/letsencrypt/live/xxx.xxx/privkey.pem

     4. 解决Let's Encrypt免费SSL证书有效期问题

Let's Encrypt免费SSL证书有效期为90天, 需要我们自己手工更新续期才可以。

[code]./letsencrypt-auto certonly --renew-by-default --email 你的邮箱 -d xxx.xxx -d www.xxx.xxx

这样我们在90天内再去执行一次就可以解决续期问题,这样又可以继续使用90天。如果我们怕忘记的话也可以利用linux crontab定时执行更新任务

 

注: http自动转https

[code]# nginx配置: 在http 80端口的配置文件里加入下面的一行

rewrite ^(.*) https://$server_name$1 permanent;

# apache 配置: 在 http 80端口的配置文件里加入以下的内容

RewriteEngine on
RewriteCond   %{HTTPS} !=on
RewriteRule   ^(.*)  https://%{SERVER_NAME}$1 [L,R]

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: