取经自思否:https://segmentfault.com/a/1190000015231137

https 的网站 搜索引擎 会优先收录,所以就抽时间记录下配置博客的过程,各种找资料,终于给我找到了一篇好的指引

ACME

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

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

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

主要步骤:

  1. 安装 acme.sh
  2. 生成证书
  3. copy 证书到 nginx/apache 或者其他服务
  4. 更新证书
  5. 更新 acme.sh
  6. 测试 https

1. 安装 acme.sh

安装很简单, 一个命令:

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

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

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

cd ~/.acme.sh/

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

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

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

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

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.xxx.com 会自动跳转到 https://www.xxx.com

配置步骤

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

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

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

最后点击:强制 HTTPS 访问

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

给网站配置免费的HTTS证书的更多相关文章

  1. 给网站添加免费Https SSL证书

    基于阿里云的云盾证书服务,系统是centos6.8,web服务器是nginx1.8.0,简单记录下踩坑情况. 申请证书 登录阿里云控制台→安全(云盾)→证书服务→购买证书(https://common ...

  2. linux系统下使用nginx反向代理asp.net core,并配置免费的https证书

    反向代理是为动态 Web 应用提供服务的常见设置. 反向代理终止 HTTP 请求,并将其转发到 ASP.NET Core 应用. 1.在asp.net core项目中的Startup的Configur ...

  3. 【转载】网站配置Https证书系列(二):IIS服务器给网站配置Https证书

    针对网站的Https证书,即SSL证书,腾讯云.阿里云都提供了免费的SSL证书申请,SSL证书申请下来后,就需要将SSL证书配置到网站中,如果网站使用的Web服务器是IIS服务器,则需要在IIS服务器 ...

  4. startssl,免费的ssl证书申请及注意事项

    免费的ssl证书,https://www.startssl.com/ 安装到IIS和Nginx有所不同.原文 http://blog.newnaw.com/?p=1232 ------------转自 ...

  5. 获取免费的https证书

    可以通过网站获取免费的https证书 首先到https://freessl.org注册一个账号 然后就可以开始创建免费证书了 获取的证书里面通常只有pem后缀文件 nodejs使用的时候需要crt文件 ...

  6. 超详细网站博客域名和二级域名、子域名升级HTTPS免费申请SSL证书配置nginx指南

    随着互联网的飞速发展,我们的工作生活已经离不开互联网,HTTP虽然使用极为广泛, 但是存在不小的安全缺陷, 主要是其数据的明文传送和消息完整性检测的缺乏, 而这两点恰好是网络支付,网络交易等网站应用中 ...

  7. 【转载】网站配置Https证书系列(一):腾讯云申请免费的SSL证书的流程步骤(即https安全连接使用的证书)

    很多网站为了安全性考虑都会上https安全连接,此时就需要考虑使用SSL证书,其实在腾讯云这边提供有免费的SSL证书申请,登录腾讯云管理控制台后,进入SSL证书管理页面,里面有个申请免费证书.腾讯云申 ...

  8. Tomcat9使用免费的Https证书加密网站

    1.概述 Apache Tomcat是一款优秀的Java Web容器,对于各个站长来说,可以很方便的使用Tomcat将自己的网站博客放在公网的服务器上,分享自己的心得以及个人博客. 那么在公网中的访问 ...

  9. Certbot让网站拥有免费https证书

    网站使用http协议,在chrome浏览器中总是报不安全,看着就让人不爽,自己建的网站,不安全总是会让自己心慌慌.看到有头有脸的网站都是https开头,心中自然也想装逼一把,让自己的网站高端大气上档次 ...

随机推荐

  1. openPose-注

    静态编译出错:MD能通过 \ https://blog.csdn.net/Silver_sail/article/details/40540887 E:\project\BodyPoseEstimat ...

  2. Teradata超长数据会截断

    1.数据库版本 Teradata 15.10 2.测试案例: create multiset table test_stg ( col1 ) CHARACTER SET LATIN not null ...

  3. vuejs2+webpack2+vuxui2多页面架手脚,支持二级目录

    const UglifyJsPlugin = require('uglifyjs-webpack-plugin') // 去console插件 const CompressionWebpackPlug ...

  4. git 冲突解决的方法

    版权声明:本文为博主原创文章,未经博主同意不得转载. 新博客地址:www.atomicdevelop.com https://blog.csdn.net/believer123/article/det ...

  5. 【转】iOS开发笔记--识别单击还是双击

    在视图上同时识别单击手势和双击手势的问题在于,当检测到一个单击操作时,无法确定是确实是一个单击操作或者只是双击操作中的第一次点击.解决这个问题的方法就是:在检测到单击时,需要等一段时间等待第二次点击, ...

  6. 【angularJs】阻止默认事件

    $scope.click = function($event){ $event.stopPropagation();//在函数体内加上这句代码就好} 作者:smile.轉角 QQ:493177502 ...

  7. Python socket之tftp协议

    1. TFTP协议介绍 TFTP(Trivial File Transfer Protocol,简单文件传输协议) 是TCP/IP协议族中的一个用来在客户端与服务器之间进行简单文件传输的协议 特点: ...

  8. pytorch例子学习——TRANSFER LEARNING TUTORIAL

    参考:https://pytorch.org/tutorials/beginner/transfer_learning_tutorial.html 以下是两种主要的迁移学习场景 微调convnet : ...

  9. 20175330 实验一 《Java开发环境的熟悉》实验报告

    一.实验内容及步骤 (一)使用JDk编译.运行简单的Java程序 (一)使用JDk编译.运行简单的Java程序 输入cd Code命令进入Code目录 输入mkdir 20175308建立实验目录 l ...

  10. 你知道Java的四种引用类型吗

    关于java四种引用类型,我也是刚了解,特此记下! 在Java中提供了四个级别的引用:强引用,软引用,弱引用和虚引用.在这四个引用类型中,只有强引用FinalReference类是包内可见,其他三种引 ...