引子:

最近在一篇文章中了解到EFF(电子前哨基金会)为了推广https协议,成立了一个let'sencrypt项目,可以发放免费的证书,此证书可以被大多数主流浏览器所信任,这个邪恶的念头一爆发,就让我走上了一条坎坷的不归路。

准备:
工具:certbot
环境:centOS7

获取Certbot工具:
根据我在网上了解到的信息,获取certbot工具有三种方法
第一种是通过git在github中下载

git clone https://github.com/certbot/certbot.git

第二种是通过epel-release软件源,这个软件源有许多yum中没有的软件包,包括certbot

yum install epel-release
yum install certbot

第三种是通过wget来进行下载

wget https://dl.eff.org/certbot-auto

由于钟爱github,熟悉git所以直接使用git下载好了
执行命令

git clone https://github.com/certbot/certbot.git

生成证书:
下载完了之后,会创建一个certbot的目录

cd certbot
certbot-auto certonly --standalone --email crisen@crisen.org -d www.crisen.org

然后agree协议 静静等待生成证书即可
出现下面提示就说明安装好了

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/your.domain.com/fullchain.pem. Your cert
will expire on 20XX--. To obtain a new or tweaked version of
this certificate in the future, simply run certbot again. To
non-interactively renew *all* of your certificates, run "certbot
renew"
- 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目录下

部署证书:
接着把证书的公钥和私钥配置到nginx的ssl目录下,创建软链接

ln -s /etc/letsencrypt/live/www.crisen.org/fullchain.pem   /usr/local/nginx/conf/ssl/www.crisen.org.crt
ln -s /etc/letsencrypt/live/www.crisen.org/privkey.pem /usr/local/nginx/conf/ssl/www.crisen.org.key

当然直接复制过去也是可行的

cp -i  /etc/letsencrypt/live/www.crisen.org/fullchain.pem  /usr/local/nginx/conf/ssl/www.crisen.org.crt
cp -i /etc/letsencrypt/live/www.crisen.org/privkey.pem /usr/local/nginx/conf/ssl/www.crisen.org.key

接下来只要配置 nginx 的https服务就可以了 下面是我的nginx服务器配置文件

server {
listen ;
listen ssl http2;
ssl_certificate /usr/local/nginx/conf/ssl/www.crisen.org.crt;
ssl_certificate_key /usr/local/nginx/conf/ssl/www.crisen.org.key;
ssl_protocols TLSv1 TLSv1. TLSv1.;
ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_timeout 10m;
ssl_session_cache builtin: shared:SSL:10m;
ssl_buffer_size ;
add_header Strict-Transport-Security max-age=;
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /usr/local/nginx/conf/ssl/www.crisen.org.crt;
server_name www.crisen.org;
access_log /data/wwwlogs/www.crisen.org_nginx.log combined;
index index.html index.htm index.php;
include /usr/local/nginx/conf/rewrite/none.conf;
root /data/wwwroot/profiles;
if ($ssl_protocol = "") { return https://$host$request_uri; } location ~ [^/]\.php(/|$) {
#fastcgi_pass remote_php_ip:;
fastcgi_pass unix:/dev/shm/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
expires 30d;
access_log off;
}
location ~ .*\.(js|css)?$ {
expires 7d;
access_log off;
}
}

nginx config

效果测试:
然后进入到www.crisen.org测试一下
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAASoAAAAmCAYAAABzj9bgAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAARbSURBVHhe7ZvBSiRXFIbrafIQZhEYQnbzACGDEEj0ESYkGzNP4FrGRdAQAxNC0mKycRFEcDcjuNNZJCE6TmtAHRdq641/UX/neDhVZWvbc5X/g8+ue+rWvVfp+1PVarFzcJaklDJnFVRSyuwtfvnjZZJSypwter1eklLKnC2SEEJkjoJKCJE9Iw+qjY2N6kgIIa5HcXFxUR2OBgWVEGJQivn5+XR0dFQ12+mdn6Wf1p+nyR8/KX3xaqasXRcFlRBiUIput5vm5ubSwcFBVaoHgfTFD4/S45kPrjix8HE6v+hVvZppCqqpqam0v79ftcRN2dzcTEVRlK9CPATKz6j29vbSwsJCWWgCd1IIpme/T6Y3h3+nncO/0re/fVnWfl6frXo1cx+CCmvAWixRLVcUVOKh0f8wfXV1NW1vb1etmPH5D8tQ6r77v9/u0T9l7fPvP6oqzdw0qGZnZ69sPN8eJmtra6WWqCaEGA39oNrd3U3Ly8tVKwaBBD119Yj7EFTROprWJoS4W/pBdXp6Wn5WVcfXnSf9QKrzm8Xxqnc9bUGFuxa8wk6n069TBJRvAwaXPWeDzI4LAR/nbADhGo5JbA1rsndWdh72G1afCDzS0enp6bI2NjaWlpaWyhqOcT2OCfrZ6yy2zvEA29E5D/tQi18bsf0xtj0nhOdKUOE3gHVEwRTZRltQMZx8iGDjciODqI3+BOfY5lieKKgwvx0X2BrChWtEDfMycBg+w+rj4ab2YJPjHMF4bNtjD+o4TxgqAOcmJibKY45h+xLU7ZoYSsSvDaDNeQD6KKhEE/13UNujXxRKkW0M8uiHzTtIUPmNZGsY24/vYXBZfM22EShoYx6AV7SH1ceCjV23mW3AAHzPNhxwDO3Ph4HiZejg2PbHHP7nW7cmux6/tuiaunGEIP1388rKSuOH6VEoRbbxvoKKoObnIfYuh0Q1jOGDBfOwDYbVhzRtZh8GGANB40E/BlBbONw2qNgXx3Zt0TVtaxGifDdf588TolCKbOMug8oGCgKGdywYI7oWdTunHxNENYxt52Mbr2QYffz6EB520/Pux4cB1sugwrE9Z/v68fioB+qCimPzHI79o58NHb824OdFH3uNEJ7yDz7x2dTx8XFViolCKbKNmwYVNi/Ooxa1ueFRoxZ7jsFggwByLBLVAK/jZrXjkGH08W2GBCU+DNiPIIB4jQ0jP54dA22uC2AOtHmNPWfHgJYoqPy8CDoFlWji2v9C8/TXT8Ngsn7V+azqXU9TUN0GBIrdPIOC8OKdDIlqYvggyBRUookH80/Jtw0qf7cDopq4PT6UeFclRB1X79NHQK5BJUZH9OgnRBMjDyohhBgUBZUQInsUVEKI7Cm+W1xNUkqZs8Wf/54mKaXM2eJ19yRJKWXOKqiklNmroJJSZm+xdflFSilztth6e3kgpZQZW2xefpFSypxVUEkps1dBJaXMXgWVlDJ7FVRSyuxVUEkpM/ck/QfMHlz1SvtKlwAAAABJRU5ErkJggg==" alt="" />
出现了可信任的证书 到此配置完毕

踩过的坑:
服务器操作系统版本过低:
开始的时候我的操作系统是centOS5.1版本的,内置的python只有2.4,结果没有办法启动certbot出现,

因为certbot-auto是python写的,并且必须要2.6以上的版本才可以,

网上查看了许多文档,也确定了certbot只支持更加现代的操作系统
解决办法:备份网站数据,升级服务器操作系统

配置https的更多相关文章

  1. Nginx配置Https

    1.申请证书: https://console.qcloud.com/ssl?utm_source=yingyongbao&utm_medium=ssl&utm_campaign=qc ...

  2. 天河微信小程序入门:阿里云tomcat免费配置https

    天河君在第一时间通过了微信小程序验证,开启了我的微信小程序之旅.因为天河君之前是一名后端狗,对前端不是很了解,所以几乎可以认为是从零开始学做微信小程序.也希望有志在微信小程序方向做点事情的朋友能够和我 ...

  3. 在 IIS 6 和 IIS 7中配置Https,设置WCF同时支持HTTP和HTPPS,以及使用HttpWebRequest和HttpClient调用HttpS

    IIS 7 ,给IIS添加CA证书以支持https IIS 6 架设证书服务器 及 让IIS启用HTTPS服务 WCF IIS 7中配置HTTPS C#利用HttpWebRequest进行post请求 ...

  4. nginx 反向代理 配置 https 实现http https同时存在

    server { listen ssl; #监听443端口 server_name www.app01.com; ssl on; #启用ssl加密 ssl_certificate /etc/cert/ ...

  5. 【burp】配置HTTPS抓包方法

    以Chrome为例,配置HTTPS抓包方法 1.获取破解版的burp,将BurpLoader.jar和burpsuite_pro_v1.5.18.jar放到一个路径下 2.在cmd里进入上述两个jar ...

  6. YTKNetworkConfig配置HTTPS请求

    YTKNetworkConfig配置HTTPS请求 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #ad91cc ...

  7. Apache配置HTTPS功能

    apache配置https 一.yum 安装openssl和openssl-devel,httpd-devel 二.生成证书(也可以从公司的证书颁发机构获取): #建立服务器密钥 openssl ge ...

  8. nginx 学习笔记(9) 配置HTTPS服务器--转载

    HTTPS服务器优化SSL证书链合并HTTP/HTTPS主机基于名字的HTTPS主机带有多个主机名的SSL证书主机名指示兼容性 配置HTTPS主机,必须在server配置块中打开SSL协议,还需要指定 ...

  9. 指定页面配置https(apache/tomcat)

    apache/tomcat服务器下配置https         apache下配置https:             首先在网站根目录下,找到.htaccess文件(如果没有则新建),apache ...

  10. Tomcat 配置 HTTPS双向认证

    Tomcat 配置 HTTPS 双向认证指引说明: � 本文档仅提供 Linux 操作系统下的指引 � 在阅读本指引前请您在 Linux 部署 JDK 和 Tomcatserver为了 Tomcat ...

随机推荐

  1. cosbench read异常解决办法。 Unable to verify integrity of data download. Client calculated content hash didn't match hash calculated by Amazon S3. The data may be corrupt.

    问题:cosbench read测试failed 报错如下 Cosbench v0.4.2.c4 against Ceph (Hammer) / radosgw / HAproxy's HTTP en ...

  2. android MVC && MVP && MVVM分析和对比

    相关:http://www.cnblogs.com/wytiger/p/5305087.html 出处http://blog.csdn.net/self_study,对技术感兴趣的同鞋加群544645 ...

  3. [转]office 2016 4合1/3合1 专业版 增强版 精简绿色安装版

    Office 2016是微软的一个庞大的办公软件集合,其中包括了Word.Excel.PowerPoint.OneNote.Outlook.Skype.Project.Visio以及Publisher ...

  4. gulp watch出现Error: watch null EPERM的问题解释

    出现这样的问题,一般是第一次运行导致的,而且任务上有删除文件的操作. 我观察发现,只要把输出目录的文件删除,然后重新运行watch就一些ok,后者再运行一次gulp watch就一切正常.

  5. 今天又学了一招,牛逼!!!解决"-bash:No such file or directory"问题

    今天在64服务器上:发现好像bash 坏了,用户名前边   用-bash 显示,,前几天就发现这个问题,,,但是当时忙没有解决,,,,,今天来看看到底是怎么回事! File Exists but... ...

  6. css之图片路径

    关于背景图片url路径:图片和调用文件在两个不同根下的(不在同一个包(文件夹)中),要用相对路径,举例"../images/cq.gif":图片和调用文件是在一个根下的直接孩子,用 ...

  7. ActiveMQ 即时通讯服务 浅析

      一. 概述与介绍 ActiveMQ 是Apache出品,最流行的.功能强大的即时通讯和集成模式的开源服务器.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provi ...

  8. JSP入门

    JSP简介 所谓JSP就是在网页文件中嵌入Java代码或JSP定义的一些标记.JSP是建立在Servlet上的,在执行时JSP容器会先将JSP文件转换成Servlet文件以及class 文件,然后再执 ...

  9. UVA-11991 Easy Problem from Rujia Liu?

    Problem E Easy Problem from Rujia Liu? Though Rujia Liu usually sets hard problems for contests (for ...

  10. Memcached集群/分布式/高可用 及 Magent缓存代理搭建过程 详解

    当网站访问量达到一定时,如何做Memcached集群,又如何高可用,是接下来要讨论的问题. 有这么一段文字来描述“Memcached集群” Memcached如何处理容错的? 不处理!:) 在memc ...