为什么要使用Letsencrypt做SSL certificate?

最简单直接的原因是免费。但是免费存在是否靠谱的问题,尤其是对安全要求比较高的网站,需要考虑使用letsencrypt的安全性是否符合你的标准。本文旨在介绍怎么使用letsencrypt做SSL certificate,或者说是letsencrypt学习笔记更适合,对其适用场景没有做过多研究。

从git上下载letsencrypt到服务器上

$ git clone https://github.com/letsencrypt/letsencrypt

进到letsencrypt目录下,使用一下命令来创建以及安装CA

$ ./letsencrypt-auto certonly
$ ./letsencrypt-auto --apache -d domainName

CA的一些文件在 /etc/letsencrypt 目录下。

这样就可以以https方式访问你指定的域名了。

但是,网站内可能存在一些http请求,浏览器会报错并加载不成功。这里,我的做法是将站内所有的http请求重定向到https请求。我们需要修改apache2的配置文件。

打开000-default.conf文件,

/etc/apache2/sites-enabled/-default.conf

加上

RewriteEngine On
RewriteRule ^/(.*)$ https://domainname/$1 [R,L]

修改tomcat下的server.xml文件

<Connector URIEncoding="UTF-8" port="" protocol="HTTP/1.1"
connectionTimeout=""
compression="on"
compressionMinSize=""
compressableMimeType="application/json,application/javascript,application/xml,image/gif,image/png,text/css,text/html,text/javascript,text/plain,text/xml"
redirectPort=""
proxyPort = "" scheme="https"/>

这样网站所有的请求都指向https请求了。

letsencrypt默认30天内有效,但有renew的命令可以在letsencrypt过期之后更新CA。自动更新CA的脚本如下

#!/bin/sh
if ! /path/to/letsencrypt-auto renew > /var/log/letsencrypt/renew.log >& ; then
echo Automated renewal failed:
cat /var/log/letsencrypt/renew.log
exit
fi

需要在服务器上定期执行这个脚本,可以使用crontab。

最新文章

  1. IE10开始支持CSS3 Transitions, Transforms 和 Animations
  2. Winform水印
  3. xml ---DOM操作
  4. X-Cart 学习笔记(三)X-Cart框架2
  5. vmtool安装成功,但是hgfs下没有被挂接共享目录!
  6. Windows调试学习笔记:(二)WinDBG调试.NET程序示例
  7. Android----获取activity上所有的控件
  8. EBS技术开发之返利开发
  9. Tomcat的系统安全管理
  10. linux安装vsftpd服务器
  11. TCP长连接与短连接、心跳机制
  12. odoo常用widget
  13. Notes : &lt;Hands-on ML with Sklearn &amp; TF&gt; Chapter 1
  14. SQL 必知必会&#183;笔记&lt;5&gt;创建计算字段
  15. PAT A1013 Battle Over Cities (25 分)——图遍历,联通块个数
  16. 【netcore入门】在Windows IIS上部署.NET Core 2.1项目
  17. Java中高级面试必问之多线程TOP50(含答案)
  18. 20145315何佳蕾《网络对抗》Web安全基础
  19. cocos2d方块方块
  20. flume-ng-elasticsearch 索引时间命名问题(时区和时间格式)

热门文章

  1. Netty入门3之----Decoder和Encoder
  2. VMware安装VMware tool后mount /dev/cdrom /mnt成功挂载含rpm包的镜像
  3. GO语言(六)接口使用
  4. 我的第一个Python随笔
  5. multiGet(下载软件)
  6. CSAPP Bomb Lab记录
  7. hdu-5475 An easy problem---线段树+取模
  8. HBase的rowkey排序和scan输出顺序
  9. mysqlslap执行基准测试
  10. PHP中使用substr()截取字符串出现中文乱码问题该怎么办