ubuntu 16.04 配置ssl
Let's Encrypt 的服务相信很多人都知道了,我个人认为这是最好的免费 SSL 服务。下面内容即使如何在自己的网站上使用 Let's Encrypt 实现 SSL.
前提条件
自己拥有一个域名,备案了的域名最好。
Ubuntu 16.04 的服务器,你可以到腾讯云或者阿里云购买这样的云主机。
将域名自己解析到你的 Ubuntu 16.04 的云主机 ip;
注意如果你的域名没备案,在购买主机的时候,推荐大家购买腾讯云或者阿里云境外的主机。
1.安装 Certbot
Certbot 其实就是维护 Let's Encrypt 的 Package,在 Ubuntu 16.04 上,我们可以这样安装:
首先安装 Nginx:
sudo apt-get install nginx
以上过程,等待安装完毕就好。
然后添加 package repository
sudo add-apt-repository ppa:certbot/certbot
这个过程中,等待验证完毕,按下 ENTER
就好。然后更新 apt 源数据:
sudo apt-get update
最后,安装 Certbot 的 Nginx package:
sudo apt-get install python-certbot-nginx
2.配置 Nginx
安装完 Nginx 和 Certbot 之后,需要简单配置 Nginx 以便于 Let's Encrypt 能起作用:
sudo vi /etc/nginx/sites-available/default
使用 vi 编辑器打开 /etc/nginx/sites-available/default
,可以直接删除里面的所有内容,然后再添加下面的配置:
server {
listen 80;
listen [::]:80;
server_name your-domain.com www.your-domain.com;
}
注意这里的
your-domain.com
换成你自己的域名。
保存退出之后,执行以下命令来检测 Nginx 的配置文件是否有错:
sudo nginx -t
如果出现类似 syntax ok 这样的语句,就说明 Nginx 的配置文件没有问题。之后就是重新加载 Nginx 的配置文件了:
sudo service nginx reload
3.签发 SSL 证书
前面的两大步配置完成,就可以使用 Let's Encrypt 签发 SSL 证书了:
sudo certbot --nginx -d your-domian.com -d www.your-domain.com
注意这里的
your-domain.com
换成你自己的域名。
如果你第一次运行 certbot
命令的话,你需要在弹出的窗口输入你的邮箱地址还有需要接受 Let's Encrypt 的协议,这样之后,你大概会看到下面的文字:
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):
在上面这里选择 1
或者 2
,我推荐大家直接选择 2
,因为这个会直接将你的 nginx 文件配置好并且是会将 http 跳转到 https 的。
选择完毕之后,等待 SSL 生成完毕,就会有类似这样的输出:
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/your-domain.com/fullchain.pem. Your cert will
expire on 2017-12-29. To obtain a new or tweaked version of this
certificate in the future, simply run certbot again with the
"certonly" option. To non-interactively renew *all* of your
certificates, run "certbot renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
然后在上面的文字中,这个 /etc/letsencrypt/live/your-domain.com/fullchain.pem
路径很重要,就是你的 SSL 证书路径。
其实到这里,访问
your-domain.com
应该就可以看到 https 的效果了。
4.自动更新证书
因为 Let's Encrypt 签发的 SSL 证书有效期只有 90 天,所有在过期之前,我们需要自动更新 SSL 证书,而如果你使用最新的 certbot
的话,Let's Encrypt 会帮你添加自动更新的脚本到 /etc/cron.d
里,你只需要去检测一下这个命令是否生效就OK!
sudo certbot renew --dry-run
如果这个命令你没看到什么 error 的话,那就是没什么问题了。
总结
本文主要是介绍了在 Ubuntu 16.04 的云服务器上,使用 Nginx 作为服务器软件情况下,如何配置 Let's Encrypt 的 SSL 证书,使得网站得以支持 https
的过程。内容很浅,但是我觉得还是挺有用的。
ubuntu 16.04 配置ssl的更多相关文章
- Ubuntu 16.04配置SSL免费证书
主要参考地址为:https://blog.csdn.net/setoy/article/details/78441613 本篇主要以Apache这个web服务器来讲解,所以前提必须要安装好apache ...
- Ubuntu 16.04配置OpenCV 3.1.0 for Java
我们都知道,OpenCV是基于C++的开源计算机视觉库,但是从2.4.4版本开始提供了Java绑定,也就是说,我们也可以使用Java来开发基于OpenCV的计算机视觉应用.目前,最新的版本是3.1.0 ...
- Ubuntu 16.04配置国内高速apt-get更新源【转】
转自:https://blog.csdn.net/twang0x80/article/details/79782753 Ubuntu 16.04下载软件速度有点慢,因为默认的是从国外下载软件,那就更换 ...
- Ubuntu 16.04配置国内高速apt-get更新源
https://www.linuxidc.com/Linux/2017-11/148627.htm Ubuntu 16.04下载软件速度有点慢,因为默认的是从国外下载软件,那就更换到国内比较好的快速更 ...
- Ubuntu 16.04 配置安卓5.1编译环境
Ubuntu 16.04版本 电脑cpu必须是64位 硬盘分配大约100G的空间 1.ubuntu中更新源 $ sudo apt-get update 2.安装 openjdk-8-jdk $ sud ...
- Ubuntu 16.04配置vncviewer
网上有各种各样的教程,既混乱又复杂.这是提供一个亲自测试可用的配置方案,十分简单,桌面环境选用xfce,Ubuntu版本是16.04. 1 安装 Xfce 和 TightVNC sudo apt in ...
- ubuntu 16.04 配置静态ip 后默认的网卡eno1变成eth0了不能联网的问题解决
我这次是在真实机器上面安装的ubuntu16.04 在配置了静态ip后不懂什么原因默认的eno1网卡变回了eth0网卡之后就不能上网, 同一个网段的其他集群节点也不能ping 通 因为ubuntu16 ...
- Ubuntu 16.04配置Java Web开发环境
说明:在Linux下无论是开发还是服务器配置,我个人建议都安装二进制包版本的,优点:配置清晰,容易发现问题,性能调优方便等.缺点:配置太复杂.而其余平台的建议是一键安装版本,毕竟都是用于测试的,不会实 ...
- Ubuntu 16.04配置JDK
此篇为http://www.cnblogs.com/EasonJim/p/7139275.html的分支页. 一.JRE和JDK JRE(Java Runtime Environment)是运行一个基 ...
随机推荐
- rsync服务端排错思路
rsync服务端排错思路 rsync服务端排错思路 查看rsync服务配置文件路径是否正确,正确的默认路径为/etc/rsyncd.conf 查看配置文件里host allow,host ...
- centos6.5下修改系统的roo用户/非root用户的密码
1.修改系统root用户的密码 [........~]# passwd然后输入新密码,若提示密码太简单,无需理会,直接敲回车: 然后再次输入新密码,即可修改成功. 2.修改系统非root用户的密码:e ...
- 常见状态码StatusCode
当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求.当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求. ...
- NSMutableArray修改替换某个位置的元素
使用NSMutableArray的replaceObjectAtIndex方法.
- 【NOIP2017提高组模拟6.27】C
题目 蜘蛛精大爷是世界上最爷的爷,ta的图论专著<蜘蛛精大爷教你学做人OI之图论>正在热卖,只要233美元一本,每人限购一本......在某弱的不懈要求下,ta给某弱出了一道题,然而某弱太 ...
- 容器"共享"宿主机的hosts文件(终极方案)
0.背景 有时候制作docker镜像生成容器时需要宿主机的hosts文件共享到容器中.首先想的是通过挂载的方式共享hosts文件,但是实践时发现根本行不通,hosts文件在/etc/目录下,如进行挂载 ...
- py从入门到实践 第四章
4.1 遍立列表 ~= shell 数组————————————————————————————————————————————thrink = ['link','path','pwd']for i ...
- 2. ClustrixDB 文件/参数说明
一.日志/data/clustrix/log/query.log 记录节点慢SQL/错误SQL/DDL 等信息,节点分开记录 Each entry in the query.log is catego ...
- UVa 572 Oil Deposits (Floodfill && DFS)
题意 :输入一个m行n列的字符矩阵,统计字符“@”组成多少个八连块.如果两个字符“@”所在的格子相邻(横竖以及对角方向),就是说它们属于同一个八连块. 分析 :可以考虑种子填充深搜的方法.两重for循 ...
- luogu P1434 滑雪 x
P1434 滑雪 题目描述 Michael喜欢滑雪.这并不奇怪,因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael想知 ...