配置https
引子:
最近在一篇文章中了解到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的更多相关文章
- Nginx配置Https
1.申请证书: https://console.qcloud.com/ssl?utm_source=yingyongbao&utm_medium=ssl&utm_campaign=qc ...
- 天河微信小程序入门:阿里云tomcat免费配置https
天河君在第一时间通过了微信小程序验证,开启了我的微信小程序之旅.因为天河君之前是一名后端狗,对前端不是很了解,所以几乎可以认为是从零开始学做微信小程序.也希望有志在微信小程序方向做点事情的朋友能够和我 ...
- 在 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请求 ...
- nginx 反向代理 配置 https 实现http https同时存在
server { listen ssl; #监听443端口 server_name www.app01.com; ssl on; #启用ssl加密 ssl_certificate /etc/cert/ ...
- 【burp】配置HTTPS抓包方法
以Chrome为例,配置HTTPS抓包方法 1.获取破解版的burp,将BurpLoader.jar和burpsuite_pro_v1.5.18.jar放到一个路径下 2.在cmd里进入上述两个jar ...
- YTKNetworkConfig配置HTTPS请求
YTKNetworkConfig配置HTTPS请求 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #ad91cc ...
- Apache配置HTTPS功能
apache配置https 一.yum 安装openssl和openssl-devel,httpd-devel 二.生成证书(也可以从公司的证书颁发机构获取): #建立服务器密钥 openssl ge ...
- nginx 学习笔记(9) 配置HTTPS服务器--转载
HTTPS服务器优化SSL证书链合并HTTP/HTTPS主机基于名字的HTTPS主机带有多个主机名的SSL证书主机名指示兼容性 配置HTTPS主机,必须在server配置块中打开SSL协议,还需要指定 ...
- 指定页面配置https(apache/tomcat)
apache/tomcat服务器下配置https apache下配置https: 首先在网站根目录下,找到.htaccess文件(如果没有则新建),apache ...
- Tomcat 配置 HTTPS双向认证
Tomcat 配置 HTTPS 双向认证指引说明: � 本文档仅提供 Linux 操作系统下的指引 � 在阅读本指引前请您在 Linux 部署 JDK 和 Tomcatserver为了 Tomcat ...
随机推荐
- 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 ...
- android MVC && MVP && MVVM分析和对比
相关:http://www.cnblogs.com/wytiger/p/5305087.html 出处http://blog.csdn.net/self_study,对技术感兴趣的同鞋加群544645 ...
- [转]office 2016 4合1/3合1 专业版 增强版 精简绿色安装版
Office 2016是微软的一个庞大的办公软件集合,其中包括了Word.Excel.PowerPoint.OneNote.Outlook.Skype.Project.Visio以及Publisher ...
- gulp watch出现Error: watch null EPERM的问题解释
出现这样的问题,一般是第一次运行导致的,而且任务上有删除文件的操作. 我观察发现,只要把输出目录的文件删除,然后重新运行watch就一些ok,后者再运行一次gulp watch就一切正常.
- 今天又学了一招,牛逼!!!解决"-bash:No such file or directory"问题
今天在64服务器上:发现好像bash 坏了,用户名前边 用-bash 显示,,前几天就发现这个问题,,,但是当时忙没有解决,,,,,今天来看看到底是怎么回事! File Exists but... ...
- css之图片路径
关于背景图片url路径:图片和调用文件在两个不同根下的(不在同一个包(文件夹)中),要用相对路径,举例"../images/cq.gif":图片和调用文件是在一个根下的直接孩子,用 ...
- ActiveMQ 即时通讯服务 浅析
一. 概述与介绍 ActiveMQ 是Apache出品,最流行的.功能强大的即时通讯和集成模式的开源服务器.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provi ...
- JSP入门
JSP简介 所谓JSP就是在网页文件中嵌入Java代码或JSP定义的一些标记.JSP是建立在Servlet上的,在执行时JSP容器会先将JSP文件转换成Servlet文件以及class 文件,然后再执 ...
- UVA-11991 Easy Problem from Rujia Liu?
Problem E Easy Problem from Rujia Liu? Though Rujia Liu usually sets hard problems for contests (for ...
- Memcached集群/分布式/高可用 及 Magent缓存代理搭建过程 详解
当网站访问量达到一定时,如何做Memcached集群,又如何高可用,是接下来要讨论的问题. 有这么一段文字来描述“Memcached集群” Memcached如何处理容错的? 不处理!:) 在memc ...