手把手教你安装SSL证书升级https

是不是觉得别人网站前面的小绿锁很好看?
而且,Google官方也正式承认过https是影响搜索排名的一个因素,那么如何将自己的网站全面升级为https呢?今天的内容就介绍一下如何将部署在Nginx的WordPress增加一个小绿锁。
1.选择SSL证书
HTTPS(Hypertext Transfer Protocol Secure,超文本传输安全协议),是一种通过计算机网络进行安全通信的传输协议。经由HTTP进行通信,但是利用SSL/TLS来加密数据包。因此为了将网站升级为https的,需要先去获取一个ssl证书~
免费的ssl证书申请机构还是不少的,今天介绍一个很好用的Lets's Encrypt(https://letsencrypt.org/),这是一个免费、开放、自动化的证书颁发机构。
2.在服务器端配置SSL证书(Ubuntu16.04 Nginx为例)
Certbot有PPA,直接安装就好:
$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install python-certbot-nginx
安装Nginx版本的证书,
$ sudo certbot --nginx
这一步需要你输入邮箱以及域名信息,邮箱用来接收证书即将过期的信息(3个月要更新一次)以及安全信息。域名则是你这个证书所应用的网址,如果提示Cannot find a VirtualHost matching domain,可能是你的Nginx里的server_name配置有误,看看是不是正确指向了自己的域名。之后会让你选择Redirect还是No redirect,前者是将所有http请求都重定向到https去。
用这个命令安装是让Certbot自动帮你修改Nginx配置文件实现http变为https(方便,推荐使用),当然你也可以手动配置,通过命令sudo certbot --nginx certonly,这样你就可以自己来设置信息,官方文档参考:https://certbot.eff.org/docs。
重启Nginx,再访问自己的博客,就会发现自己前面也有一个小绿锁了~
3.设置证书自动更新
Certbot的证书有效期是90天,过了90天就得手动更新一次~但是它有自动更新机制,可以通过以下命令测试一下是否正常:
$ sudo certbot renew --dry-run
如果运行正确的话,那么你就可以设置shell+crontab来实现定时任务,以后也不用烦90天更新一次的事了。
1. 在/root下新建一个update.sh:
#!/bin/bash
last_run_time=0
date1=`date +%s`
interval_days_secs=$((87*24*3600))
if [[ $((date1 - last_run_time)) -gt $interval_days_secs ]]; then
certbot renew
sed -i '2 s/[0-9][0-9]*/'$date1'/' update.sh
fi
2. 新建一个crontab任务(crontab -e),设置每天执行一次update.sh:
0 0 * * * /root/update.sh > /root/log 2>&1
3. 重启crontab任务:
sudo /etc/init.d/cron restart
手把手教你安装SSL证书升级https的更多相关文章
- 阿里云服务器Centos上Apache安装SSL证书配置Https
首先我们先去阿里云申请一个免费的SSL证书(https://common-buy.aliyun.com/?spm=5176.7968328.1266638..5e971232BzMSp5&co ...
- ★ phpStudy安装SSL证书实现https链接
[准备] (1)phpstudy下载:http://phpstudy.php.cn/ (2)phpstudy集成环境下正常运行的网站 (3)避免意外请先备份(复制)好httpd.conf配置文件 ...
- 网站安装SSL证书成为影响SEO排名的重要因素之一
百度谷歌先后发声明倡导站长们使用https链接,同样的网站,https站点要比http站点拥有更好的排名权重.https已经是网站SEO必须要考虑的环节之一了,而https的必要条件就是安装SSL证书 ...
- oneinstack如何安装ssl证书和配置Let's Encrypt免费SSL证书教程汇总(转)
OneinStack包含以下组合:lnmp(Linux + Nginx+ MySQL+ PHP) LNMP安装SSL安全证书 部署HTTPS:https://www.gworg.com/ssl/309 ...
- MVC图片上传详解 IIS (安装SSL证书后) 实现 HTTP 自动跳转到 HTTPS C#中Enum用法小结 表达式目录树 “村长”教你测试用例 引用provinces.js的三级联动
MVC图片上传详解 MVC图片上传--控制器方法 新建一个控制器命名为File,定义一个Img方法 [HttpPost]public ActionResult Img(HttpPostedFile ...
- 免费获取SSL证书/一键安装SSL证书/https加密
因为我用的是恒创的香港服务器 虽然价格相较于大促的阿里云贵一些,但是有一个有点不用备案... 安装步骤: 1.登录云主机控制面板, 在 其他管理 中找到并进入 SSL证书 设置. 注意:如拥有多个域名 ...
- phpstudy 安装Apache SSL证书实现https连接
Windows phpstudy安装ssl证书教程. 工具/原料 phpstudy 集成环境 申请的SSL证书 方法/步骤 首先申请免费的ssl证书,很多地方都可以申请.我是在腾讯云!如图 ...
- nginx安装SSL证书,并强制跳转https访问
网站最初是nginx代理80端口,实现http访问的.现在要安装SSL证书,使用https访问. 我的nginx根目录是/usr/local/nginx,将申请的SSL证书和key放在/usr/loc ...
- phpstudy 安装 Apcahe SSL证书 实现https连接
摘自:https://jingyan.baidu.com/article/64d05a022e6b57de54f73b51.html Windows phpstudy安装ssl证书教程. 工具/原料 ...
随机推荐
- Android系统中Parcelable和Serializable的区别,自动化实现Parcelable接口的插件
Parcelable和Serializable的区别 参考地址:http://greenrobot.me/devpost/android-parcelable-serializable/ 由于最终的区 ...
- Kotlin——初级篇(四):控制语句详解
在前面 的章节中讲解了Kotlin语言中的数据类型.变量与常量的定义.不了解请参见前面的内容: Kotlin--初级篇(三):数据类型详解. Kotlin--初级篇(二)常量.变量.注释. 下面详细为 ...
- Java死锁的理解
我们有时候操作数据库的时候会遇到死锁,那么什么使死锁呢?它的一个比较官方的定义就是:死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将 ...
- dfs-求连通块
状态:若为W则继续搜索 import java.util.Scanner; public class Main { static int n,m; static char[][] field; sta ...
- block 块 partition 划分
w 龚升
- 2014-08-28——移动端web开发,基本Meta标签
1.<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scal ...
- ACM中使用 JAVA v2. 1
ACM中使用JAVA v2.1 严明超 (Blog:mingchaoyan.blogbus.com Email:mingchaoyan@gmail.com) 0.前 言 文前声明:本文只谈java用于 ...
- SingleNumber
Given an array of integers, every element appears twice except for one. Find that single one. Note: ...
- 剑指offer 面试65题
题目65题:不用加减乘除做加法. 解法一:Python特性 # -*- coding:utf-8 -*- class Solution: def Add(self, num1, num2): # wr ...
- staticmethod
python staticmethod 返回函数的静态方法. 该方法不强制要求传递参数,如下声明一个静态方法: class C(object): @staticmethod def f(arg1, a ...