资讯专栏INFORMATION COLUMN

给网站配置免费的HTTS证书

Soarkey / 617人阅读

摘要:最近看到网上说的网站会优先收录,所以就抽时间记录下配置博客的过程。使用证书作为博客的实现方式。内容格式对应证书内容后缀私钥格式对应证书内容后缀最后点击强制访问开启后用户的请求会强制跳转到协议进行访问。

最近看到网上说 https 的网站 Google 会优先收录,所以就抽时间记录下配置博客的过程。

ACME

使用 LetEncrypt 证书作为博客的 https 实现方式。

acme.sh 实现了 acme 协议, 可以从 letsencrypt 生成免费的证书.

github https://github.com/Neilpang/acme.sh

主要步骤:

安装 acme.sh

生成证书

copy 证书到 nginx/apache 或者其他服务

更新证书

更新 acme.sh

测试 https

1. 安装 acme.sh

安装很简单, 一个命令:

curl  https://get.acme.sh | sh

普通用户和 root 用户都可以安装使用. 安装过程进行了以下几步:

把 acme.sh 安装到你的 home 目录下:

cd ~/.acme.sh/

并创建 一个 bashalias, 方便你的使用: alias acme.sh=~/.acme.sh/acme.sh

自动为你创建 cronjob, 每天 0:00 点自动检测所有的证书, 如果快过期了, 需要更新, 则会自动更新证书.

2. 生成证书 并且完成验证

acme.sh 实现了 acme 协议支持的所有验证协议. 一般有两种方式验证: httpdns 验证.

这是使用http 验证

cd ~/.acme.sh/
yum install socat

如果你还没有运行任何 web 服务, 80 端口是空闲的, 那么 acme.sh 还能假装自己是一个webserver, 临时听在80 端口, 完成验证:

sh acme.sh  --issue -d www.souyunku.com   --standalone
3. copy/安装 证书

前面证书生成以后, 接下来需要把证书 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
4. 更新证书

目前证书在 60 天以后会自动更新, 你无需任何操作. 今后有可能会缩短这个时间, 不过都是自动的, 你不用关心.

5. 更新 acme.sh

目前由于 acme 协议和 letsencrypt CA 都在频繁的更新, 因此 acme.sh 也经常更新以保持同步.

升级 acme.sh 到最新版 :

acme.sh --upgrade

如果你不想手动升级, 可以开启自动升级:

acme.sh  --upgrade  --auto-upgrade

之后, acme.sh 就会自动保持更新了.

你也可以随时关闭自动更新:

acme.sh --upgrade  --auto-upgrade  0
6. 测试 https

启动Nginx

/usr/local/nginx/sbin/nginx

浏览器 访问 www.souyunku.com 会自动跳转到 https://www.souyunku.com

最后说一点,由于博客使用了七牛云的 http 协议的 cdn 导致博客内的静态资源不可用,最后又把七牛云的静态资源配置了 https

配置步骤

点击菜单:融合CDN-->域名管理-->配置--> HTTPS 配置

点击 SSL证书管理 - https://portal.qiniu.com/certificate/ssl#cert,您可以在SSL证书服务页面申请或上传自有证书。

内容 ( PEM格式 ) 对应证书内容 *.cre 后缀

私钥 ( PEM格式 ) 对应证书内容 *.key 后缀

最后点击:强制 HTTPS 访问

开启后用户的 HTTP 请求会强制跳转到 HTTPS 协议进行访问。

Contact

作者:鹏磊

出处:http://www.ymq.io/2018/06/08/certs-https

版权归作者所有,转载请注明出处

Wechat:关注公众号,"搜云库",专注于开发技术的研究与知识分享

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/39972.html

相关文章

  • 墙裂推荐:搜云库技术团队,面试必备技术干货

    摘要:今天整理了一下近大半年以来的一些文章,和我的预期一样,很多文章我都忘记自己曾经写过了,这个记录的过程让我也有了新的理解。希望大家,收藏,点赞,加转发。 今天整理了一下近大半年以来的一些文章,和我的预期一样,很多文章我都忘记自己曾经写过了,这个记录的过程让我也有了新的理解。希望大家,收藏,点赞,加转发。 面试必备 面试必备:深入Spring MVC DispatchServlet 源码...

    SegmentFault 评论0 收藏0
  • 墙裂推荐:搜云库技术团队,面试必备技术干货

    摘要:今天整理了一下近大半年以来的一些文章,和我的预期一样,很多文章我都忘记自己曾经写过了,这个记录的过程让我也有了新的理解。希望大家,收藏,点赞,加转发。 今天整理了一下近大半年以来的一些文章,和我的预期一样,很多文章我都忘记自己曾经写过了,这个记录的过程让我也有了新的理解。希望大家,收藏,点赞,加转发。 面试必备 面试必备:深入Spring MVC DispatchServlet 源码...

    Neilyo 评论0 收藏0
  • 常见https,SSH协议和MD5加密方式分析

    摘要:前言协议和加密是前端可能会接触到的加密所以我就将他们进行了一个归纳原理就是在加入层是安全的基础协议是在基础上加了协议使用端口是端口由网景公司开发并内置在浏览器中作用建立一个信息安全通道来保证数据传输的安全确认网站的真实性可以查看网站认证的真 前言 https,SSH协议和MD5加密是前端可能会接触到的加密,所以我就将他们进行了一个归纳. 1.https 1.1原理 A.就是在http加...

    3fuyu 评论0 收藏0
  • 常见https,SSH协议和MD5加密方式分析

    摘要:前言协议和加密是前端可能会接触到的加密所以我就将他们进行了一个归纳原理就是在加入层是安全的基础协议是在基础上加了协议使用端口是端口由网景公司开发并内置在浏览器中作用建立一个信息安全通道来保证数据传输的安全确认网站的真实性可以查看网站认证的真 前言 https,SSH协议和MD5加密是前端可能会接触到的加密,所以我就将他们进行了一个归纳. 1.https 1.1原理 A.就是在http加...

    Alfred 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<