网站安全之HTTPS部署解决方案
来源:互联网 发布:高中物理模拟软件 编辑:程序博客网 时间:2024/06/03 13:21
网站安全之HTTPS部署解决方案
What
HTTPS全称为Hypertext Transfer Protocol over Secure Socket
Layer,中文含义为“超文本传输协议在安全加密字层”,简单来说就是加密数据传输,通俗的说就是安全连接。
它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息。
它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版。
Why
- 确认网站真实性(网站身份认证):用户可以确保自己访问的不是一个钓鱼欺诈网站,增加网站的公信力(这个网站是被权威认证机构承认的)
- 保证信息传输的机密性:保证用户的信息不被窃取泄露(数据传输时使用一个安全的通道来保证数据安全性,机密性)
- 像苹果,微信小程序,Android等也在推崇使用Https,所以我们公司项目部署Https也是大势所趋
SSL
SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道
由于SSL技术已建立到所有主要的浏览器和WEB服务器程序中,因此,仅需安装服务器证书就可以激活该功能了)
域名型SSL证书(DV SSL)
即只对域名的所有者
企业型 SSL 证书(OV SSL)
是要购买者提交组织机构资料和单位授权信等在官方注册的凭证,认证机构在签发SSL证书前不仅仅要检验域名所有权,还必须对这些资料的真实合法性进行多方查验,只有通过验证的才能颁发SSL证书。
增强型 SSL 证书(EV SSL)
与其他SSL证书一样,都是基于SSL/TLS安全协议,都是用于网站的身份验证和信息在网上的传输加密。它跟普通SSL证书的区别也是明显的,安全浏览器的地址栏变绿,如果是不受信的SSL证书则拒绝显示,如果是钓鱼网站,地址栏则会变成红色,以警示用户。
How
- 如何申请
- 选择一个证书颁发机构
- 选择一个证书颁发机构
- 如何填写
点击下一步
选择手动验证DNS
然后我们进行手动的DNS验证
- 手动DNS验证
- 通过解析指定的DNS记录验证您的域名所有权,指定的解析格式如下:
主机记录 –> CName记录类型 –> 记录值
例如为申请证书的域名 www.exx.com 添加一条记录类型为CNAME的DNS记录:sr5jtl1xxxxxxxmygdps.domain.com –> CNAME –> s2015xxxxxxxx.domain.com,以云解析平台为例说明如何进行操作:
- 添加域名
- 点击【添加域名】,输入您要解析域名的主域名exx.com,并点【确定】
- 添加解析记录
- 点击刚添加的域名【解析】
- 点击【添加记录】
- 完成指定的CNAME记录添加
- CNAME记录即将域名指向另一个域名,再由另一个域名提供ip地址:
记录类型选择为CNAME
主机记录处填子域名,比如需要添加sr5jtl1xxxxxxxmygdps.domain.com的解析,只需要在主机记录处填写sr5jtl1xxxxxxxmygdps即可,不需要填写主域名domain.com
线路类型选择默认
记录值为CNAME指向的域名,只可以填写域名,此处为s2015xxxxxxxx.domain.com,注意记录值须完整填写
TTL选择默认值10分钟即可
解析添加成功后如下:
sr5jtl1xxxxxxxmygdps.domain.com 的指向系统会定时检查,若能检测到并且与指定的值匹配,即可完成域名所有权验证。
至此就完成了域名的正常Https解析
- 如何配置
- 证书的获取
- 首先到证书管理页面选择证书然后点击下载证书
Apache文件夹内获得证书文件
- 1_root_bundle.crt,
- 2_www.ezd.com_cert.crt
- 3_www.ezd.com.key,私钥文件
当你设置秘钥后下载的文件夹中将会出现Tomcat能使用的证书文件(Tomcat不能直接使用.crt和.key文件…这里不做细说)
其中
1_root_bundle.crt 文件包括一段证书代码 “—–BEGIN CERTIFICATE—–”和“—–END
CERTIFICATE—–”,
2_www.ezd.com_cert.crt 文件包括一段证书代码 “—–BEGIN
CERTIFICATE—–”和“—–END CERTIFICATE—–”,
3_www.ezd.com.key 文件包括一段私钥代码“—–BEGIN RSA PRIVATE
KEY—–”和“—–END RSA PRIVATE KEY—–”。
证书安装
- 编辑Apache根目录下 conf/httpd.conf 文件,找到 LoadModule ssl_module modules/mod_ssl.so 和 Include conf/extra/httpd-ssl.conf,
去掉前面的#号注释;
- 编辑Apache根目录下 conf/httpd.conf 文件,找到 LoadModule ssl_module modules/mod_ssl.so 和 Include conf/extra/httpd-ssl.conf,
证书
找到Apache根目录\conf\extra下的httpd-vhosts.conf文件
编辑该文件
顶部添加
监听443端口
Listen 443
下方添加节点
<VirtualHost *:443> DocumentRoot "d:/wamp/vhosts/www.exx.com" ServerName www.exx.com ServerAlias www.exx.com SSLEngine on #开启SSL引擎 SSLCertificateFile "d:/xx/ssl/2_www.exx.com.crt" #SSL证书位置 SSLCertificateKeyFile "d:/xx/ssl/3_www.exx.com.key"#SSL秘钥位置 SSLCertificateChainFile "d:/xx/ssl/1_root_bundle.crt"#SSl证书位置 SSLProtocol all -SSLv2 -SSLv3 #SSL协议版本 SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL#SSL加密套接字<Directory "d:/wamp/vhosts/www.exx.com"> SetOutputFilter DEFLATE Options FollowSymLinks ExecCGI Require all granted AllowOverride All Order allow,deny Allow from all DirectoryIndex index.html index.php</Directory></VirtualHost>
Finally
重启服务器
看看你的网站是否添加Https前缀可以访问了呢?
- 网站安全之HTTPS部署解决方案
- Linux下Web服务器应用之网站安全-https
- https在电子邮件安全解决方案
- 网站安全解决方案
- asp.net 网站安全解决方案
- android 之HTTPS安全访问
- iOS安全系列之 HTTPS
- iOS安全系列之:HTTPS
- Android通信安全之HTTPS
- iOS安全系列之 HTTPS
- 让网站使用安全的HTTPS协议
- 网络传输:使用 HTTPS 保护网站安全
- 网络传输:使用 HTTPS 保护网站安全
- Android安全开发之安全使用HTTPS
- Android安全开发之安全使用HTTPS
- Android安全开发之安全使用HTTPS
- Android安全开发之安全使用HTTPS
- Android安全开发之安全使用HTTPS
- 2017-03-04 分油问题
- 1 程序后台数据收集模块编写
- spark java.lang.IllegalStateException: unread block data
- 关键字volatite的用法
- java 建数据库实例
- 网站安全之HTTPS部署解决方案
- CentOS7 FTP服务搭建(虚拟用户访问FTP服务)
- PHP:创建存储函数
- Docker 入门学习笔记二:常用命令
- 关于如何将java web项目上传至腾讯云服务器
- Java之jar打包
- 主表和从表的一对一设置
- bzoj 3771: Triple 快速傅里叶变换+容斥原理
- MongoDB 3.4 高可用集群搭建(二)replica set 副本集