取经自思否:https://segmentfault.com/a/1190000015231137nginx
https
的网站 搜索引擎 会优先收录,因此就抽时间记录下配置博客的过程,各类找资料,终于给我找到了一篇好的指引git
使用 LetEncrypt
证书做为博客的 https
实现方式。github
acme.sh 实现了 acme
协议, 能够从 letsencrypt
生成免费的证书.web
github https://github.com/Neilpang/acme.shapache
主要步骤:vim
安装很简单, 一个命令:segmentfault
curl https://get.acme.sh | sh
普通用户和 root 用户均可以安装使用. 安装过程进行了如下几步:浏览器
把 acme.sh 安装到你的 home 目录下:bash
cd ~/.acme.sh/
并建立 一个 bash
的 alias
, 方便你的使用: alias acme.sh=~/.acme.sh/acme.sh
curl
自动为你建立 cronjob
, 天天 0:00 点自动检测全部的证书, 若是快过时了, 须要更新, 则会自动更新证书.
acme.sh
实现了 acme
协议支持的全部验证协议. 通常有两种方式验证: http
和 dns
验证.
这是使用http
验证
cd ~/.acme.sh/ yum install socat
若是你尚未运行任何 web
服务, 80
端口是空闲的, 那么 acme.sh
还能伪装本身是一个webserver
, 临时听在80
端口, 完成验证:
sh acme.sh --issue -d www.souyunku.com --standalone
前面证书生成之后, 接下来须要把证书 copy
到真正须要用它的地方.
注意, 默认生成的证书都放在安装目录下: ~/.acme.sh/
, 请不要直接使用此目录下的文件, 例如: 不要直接让 nginx/apache
的配置文件使用这下面的文件. 这里面的文件都是内部使用, 并且目录结构可能会变化.
mkdir -p /certs cd /root/.acme.sh/www.souyunku.com cp www.souyunku.com.cer /certs cp www.souyunku.com.key /certs
配置Nginx
vim /usr/local/nginx/conf/nginx.conf
配置证书
server { listen 443; ssl on; ssl_certificate /certs/www.souyunku.com.cer; ssl_certificate_key /certs/www.souyunku.com.key; }
把http
重定向到https
server { listen 80; server_name www.souyunku.com; rewrite ^(.*) https://$server_name$1 permanent; }
每次修改nginx配置文件后都要进行检查
/usr/local/nginx/sbin/nginx -t
目前证书在 60 天之后会自动更新, 你无需任何操做. 从此有可能会缩短这个时间, 不过都是自动的, 你不用关心.
目前因为 acme 协议和 letsencrypt CA 都在频繁的更新, 所以 acme.sh 也常常更新以保持同步.
升级 acme.sh 到最新版 :
acme.sh --upgrade
若是你不想手动升级, 能够开启自动升级:
acme.sh --upgrade --auto-upgrade
以后, acme.sh 就会自动保持更新了.
你也能够随时关闭自动更新:
acme.sh --upgrade --auto-upgrade 0
启动Nginx
浏览器 访问 www.xxx.com 会自动跳转到 https://www.xxx.com/usr/local/nginx/sbin/nginx
配置步骤
点击菜单:融合CDN-->域名管理-->配置--> HTTPS 配置
点击 SSL证书管理 - https://portal.qiniu.com/certificate/ssl#cert,您能够在SSL证书服务页面申请或上传自有证书。
最后点击:强制 HTTPS 访问
开启后用户的 HTTP 请求会强制跳转到 HTTPS 协议进行访问。