最新消息:

网站http改https Let’s Encrypt 安装 续期教程 免费ssl证书Let’s Encrypt使用教程Certbot

Linux 梧桐 18123浏览 1评论

最近把本站安装了ssl证书,是免费的,从此访问也有小绿锁了。

Certbot项目地址https://certbot.eff.org/

一、安装

先选择你的web服务器程序和操作系统:

就会出来适合你的情况的安装教程。非常简单,就几步,用的是nginx,VPS系统是centos 7。

三种方式:

第一种:

yum install epel-release
yum install certbot
certbot certonly

运行这个会出来图形安装模式,需要输入域名信息、邮箱、网站目录等。我用这个没有成功。

第二种:

yum install epel-release
certbot certonly --webroot -w /var/www/example -d example.com -d www.example.com

#/var/www/example是你的网站目录,example.com和www.example.com是你的域名。

这个其实是和第一种方法是一样的。

第三种:我是用这个成功的

这个需要先停止nginx服务

service nginx stop
certbot certonly --standalone -d example.com -d www.example.com

#example.com和www.example.com是你的域名

运行这个肯定能生成证书。生成的位置位于/etc/letsencrypt/live/你的域名/  目录下。记得备份下。

恢复nginx运行

service nginx start

下面开始配置nginx

我的配置文件如下供参考:

server
{
     listen 443 ssl;   #如果需要spdy也可以加上,lnmp1.2及其后版本都默认支持spdy,lnmp1.3 nginx 1.9.5以上版本默认支持http2
     server_name www.8dlive.com 8dlive.com;     ##这里是你的域名
     index index.html index.htm index.php default.html default.htm default.php;
     root /home/wwwroot/www.8dlive.com;            #网站目录
     ssl_certificate /etc/letsencrypt/live/8dlive.com/fullchain.pem;    #前面生成的证书,改一下里面的域名就行
     ssl_certificate_key /etc/letsencrypt/live/8dlive.com/privkey.pem;   #前面生成的密钥,改一下里面的域名就行
     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;

     include wordpress.conf;  #这个是伪静态根据自己的需求改成其他或删除
     #error_page 404 /404.html;
     location ~ [^/]\.php(/|$)
    {
     # comment try_files $uri =404; to enable pathinfo
     try_files $uri =404;
     fastcgi_pass unix:/tmp/php-cgi.sock;
     fastcgi_index index.php;
     include fastcgi.conf;     #lnmp 1.0及之前版本替换为include fcgi.conf;
     #include pathinfo.conf;
    }

     location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
     expires 30d;
    }

     location ~ .*\.(js|css)?$
    {
    expires 12h;
    }

    access_log  /home/wwwlogs/www.8dlive.com.log;
}
server
{
     listen 80;
     server_name www.8dlive.com 8dlive.com;
     location /.well-known/ {
     add_header Content-Type 'text/plain;';
     root /home/wwwroot/www.8dlive.com;
    }
     location / {
     return 301 https://www.8dlive.com$request_uri;
    }
}

 

自动化更新
Certbot可以配置在过期之前自动续订证书。由于咱们加密证书持续90天,这是非常明智的利用此功能的优势。您可以通过运行该命令来测试你的证书自动更新:

certbot renew --dry-run

如果出现一切正常,你可以通过添加一个安排自动更新的cron或者systemd运行以下工作:

certbot renew --quiet

或者手动直接运行这个命令来续期,我还没有试过。

二、后续

做完以上步骤,其实有时并不能成功,但不是步骤不对,以上安装证书,配置文件,都没问题,也许是你的网站或者主题有问题。我的就是配置完之后,打开网站始终显示重定向次数过多,我是先把主题改成wordpress的默认的主题,然后进行以上的操作,之后又重新上传了自己的主题,这样就没问题了。

还有一个问题,就是网站的图片链接肯定都是http打头的,要进数据库批量改一下原图片地址的为https,不然只要一个页面有图片,那么这个网页地址那就不会有小绿锁。处理步骤:

1、先去wordpress后台,设置那,把网站地址改成https开头的

2、进数据库,点到wp_posts这个表,点右边搜索,点下面的Find and replace这里查找那里输入http://www.8dlive.com/wp-content/uploads,替换那里输入https://www.8dlive.com/wp-content/uploads,按照自己的域名写。然后点执行,这样就把http开头的都替换成https了,进行以上操作前记得备份数据库。这样应该就完美了。

 

转载请注明:八度生活 » 网站http改https Let’s Encrypt 安装 续期教程 免费ssl证书Let’s Encrypt使用教程Certbot

您必须 登录 才能发表评论!

网友最新评论 (1)