«

emlog 使用ssl证书开启HTTPS安全访问三步曲

时间:2015-9-17 18:45     作者:admin     分类: 技术文章


02.jpg

最近在研究ssl,所以就给自己得博客使用了ssl,拿自己的博客实战研究ssl,哈哈,废话不说,如果你也想体验一下ssl,那就开始吧:

科普一下(ssl有啥好处呢):参考-浅谈HTTPS链接的重要性和安全性 这篇文章。

ssl传送大概示意图:01.jpg

emlog配置ssl很简单,只需要三步:

第一步:申请ssl证书,学习研究推荐使用免费的ssl证书(如果你是土豪,请无视-_-|),申请教程不写了,没时间,google搜索一大把。

第一个:https://www.startssl.com/ 第二个:https://www.wosign.com/  第一个是英语的,如果看不懂就用第二个国内的,但是国内的只支持sha1算法,国外的可以选择sha2-256位RSA公钥,和4096位的服务器crt身份密钥,更高的加密算法。效果请查看我的网站

申请成功解压之后,文件目录结构如下图所示:

04.png


因为这里我们是用NGINX WEB环境的,所以我们需要解压FOR NGINX.ZIP文件包,然后看到一个CRT一个KEY文件。

第二步、上传和部署SSL证书 A - 把上面的一个CRT一个KEY文件上传到VPS ROOT目录中,然后对应修改成SSL.CRT和SSL.KEY文件名,或者我们用作其他命令都可以。 B - 解密私钥和设置权限

openssl rsa -in ssl.key -out /root/ssl.key
chmod 600 /root/ssl.key

登录SSH,执行上述两行脚本,解密私钥和授权。


第三步、在LNMP环境部署站点SSL设置

我们需要在已有的LNMP添加了站点,然后在站点对应的CONF文件设置。

在"/usr/local/nginx/conf/vhost/"目录文件中,找到对应站点的conf文件,然后修改设置如下

server
{
 listen 80;
 listen 443 ssl;
#listen [::]:80;
ssl on;
        ssl_certificate /root/ssl.crt;
        ssl_certificate_key /root/ssl.key;
server_name mrxn.net mrxn.net;

/root/ssl.crt 是我自己的设置,对应路径我们要与之前上传的CRT和KEY文件路径对应以及文件名不要搞错。

最后,我们重启LNMP,可以看到SSL证书生效,且HTTPS可以访问站点。

06.png


这是在网站所有资源都在本域名下,而且是https 加密安全访问的情况下。一般你一操作完都不是这样的,而是这样的:

05.png

小锁头上面有一个感叹号标志的,如何解决呢:

首先是在后台设置域名地址为:https://mrxn.net 然后,修改 /include/lib/function.base.php ,把头像获取的链接修改成https://开头的:$avatar = "https://cn.gravatar.com/avatar/$hash?s=$s&d=$d&r=$g"; 再回来  数据--更新缓存 之后,打开首页 Ctrl + F5 基本上就是绿色的小箭头了。

如果还没有呢,那多半就是你文章的图片地址是 https://mrxn.net 这样开头的,所以,直接更新数据库的blog表的content和excerpt字段即可:

update emlog_blog set content=replace(content,'https://mrxn.net','https://mrxn.net');
update emlog_blog set excerpt=replace(excerpt,'https://mrxn.net','https://mrxn.net'); 

这样更新完数据库之后,你的网站就基本上全部替换完了非加密连接了(内容页和摘要都更新了,其他的地方貌似没有了,自己写的不算)。
如果我们需要强制使用HTTPS网址访问,那我们就需要取掉 listen 80;脚本。或者是在 listen 80;前面加上# 修改成:#listen 80;

最终修改配置大概如下:

server
    {
        #listen 80;
        listen 443 ssl;
        #listen [::]:80;
        ssl on;
        ssl_certificate 存放ssl证书文件路径.crt;
        ssl_certificate_key 存放ssl证书文件路径.key;
        server_name mrxn.net mrxn.net;
        index index.html index.htm index.php default.html default.htm default.php;
        root  网站存放文件路径;
        keepalive_timeout   60;
       .......此处省略.......
    }
server {
listen 80;
server_name mrxn.net mrxn.net;
return 301 https://mrxn.net$request_uri;
}


注意将域名修改成你自己的域名。至此,基本上就完成了ssl证书的安装,开启https访问了。

相关文章:


一段代码让nginx实现网站资源防盗链

nginx配置location总结及rewrite规则写法

nginx配置ssl加密(单双向认证、部分https)

NginxRewrite规则判断普通用户与搜索引擎爬虫(UA)实现https跳转

SSL/TLS原理详解

OpenSSL 与 SSL 数字证书概念贴

基于OpenSSL自建CA和颁发SSL证书


最后呢,希望有高手带我学习https方面的东西呀,这篇文章呢,也希望对想要使用ssl的童鞋一点帮助,如果哪位看官有更好的方法或者是建议,欢迎留言/评论 不吝赐教啊,我洗耳恭听,多帮忙吧 谢谢。

标签: 攻击 黑客 网络安全 防范 web安全 ssl https

版权所有:Mrxn's Blog
文章标题:emlog 使用ssl证书开启HTTPS安全访问三步曲
除非注明,文章均为 Mrxn's Blog 原创,请勿用于任何商业用途,转载请注明作者和出处 Mrxn's Blog

扫描二维码,在手机上阅读

推荐阅读:

评论:
avatar
JingJingHack 2016-08-09 18:15
乃博客都没有用HTTPS加密呢
avatar
siyochen 2016-03-09 16:06
想换的,但是感觉麻烦来,。还是不装逼了、。
commentator
Mrxn 2016-03-09 17:36
@siyochen:额 不是装逼 的确是有些作用的
avatar
alen 2016-03-03 11:10
amh添加失败
commentator
Mrxn 2016-03-09 18:09
@alen:amh的添加方式有可能有些差别哦  你可以搜索一下amh的安装ssl的教程
avatar
星辰 2016-02-20 18:18
[qq]8254885[/qq]大哥我有服务器 linux的不会安装  可以帮忙安装吗 [blockquote][F1] 好羞射,文章真的好赞啊,顶博主![/blockquote]
commentator
Mrxn 2016-02-20 19:23
@星辰:可以的 具体的请咨询我QQ
avatar
匿名 2016-01-24 12:34
请问下安装这个是不是需要服务器?空间可以吗?
commentator
Mrxn 2016-01-25 12:02
@匿名:最好是服务器 虚拟空间有的支持ssl有的不支持!大部分都不支持!
avatar
匿名 2016-01-08 18:05
沃通免费ssl 支持子域名吗
commentator
Mrxn 2016-01-19 15:59
@匿名:支持的
avatar
唯一度博客 2015-12-28 14:20
按照你的步骤安装完成之后还是有“小三角”
commentator
Mrxn 2015-12-28 14:36
@唯一度博客:因为你的博客当中加载有非加密链接的资源  修改一下就好了
commentator
唯一度博客 2015-12-28 15:31
@Mrxn:外链图片会造成这个原因吗
commentator
Mrxn 2015-12-28 20:17
@唯一度博客:是的 所有非本站的非加密的资源都会  都是加密的也不会  外站的资源需要是加密的链接也不会有小锁的
commentator
唯一度博客 2016-01-06 10:15
@Mrxn:谢谢……明白了
commentator
Mrxn 2016-01-06 14:55
@唯一度博客:不客气
avatar
重庆网管博客 2015-12-12 13:33
先来学习学习
有时间了 去折腾下自己的
现在百度收录HTTPS 比http友好
commentator
Mrxn 2015-12-12 13:35
@重庆网管博客:哦 是么!
avatar
哥本哈根在哪 2015-12-10 17:18
博主的站,是https [F1]
commentator
Mrxn 2015-12-10 18:38
@哥本哈根在哪:是的!
avatar
匿名 2015-12-02 20:10
只免费1年
commentator
Mrxn 2015-12-02 22:21
@匿名:可以续的 免费续期的