Linux上搭建https服务器
https原理:


步骤:
1、客户端浏览器向服务器发送如下信息:
(1)客户端支持的SSL/TLS协议的版本号
(2)密钥算法套件
(3)客户端产生的随机数,用于稍后生成“会话密钥”
2、服务器向客户端发送如下信息:
(1)确认使用的加密通信协议版本,如果浏览器与服务器支持的版本不一致,服务器关闭加密通信
(2)确认使用的加密方法
(3)服务器证书
(4)服务器生成的随机数,用于稍后生成“会话密钥”
3、客户端利用服务器发来的信息验证服务器的合法性。如果合法性验证没有通过,通讯将断开,如果合法性通过,则可以知道认证服务器的公钥是真实有效的数字证书认证机构,并且服务器发来的公钥是值得信赖的。(加密数字证书的公钥传送给客户端,客户端用私钥解密,将数字证书解开,可以看到该服务器是可信赖的和服务器发来的公钥)
4、客户端随机产生一个用于后面会话连接的对称密钥,然后用服务器的公钥加密,将加密后的对称密钥发送给服务器。
工作流程可分为三个阶段:
(1)认证服务器
浏览器内置一个受信任的CA机构列表,并保存了这些CA机构的证书。第一阶段服务器会提供经CA机构认证颁发的服务器证书,如果认证该服务器证书的CA机构存在于浏览器的受信任CA机构列表中,并且服务器证书中的信息与当前正在访问的网站(域名)一致,那么浏览器就认为服务端是可信的,并从服务器证书中取得服务器公钥,用于后续流程,否则,浏览器将提示用户,根据选择是否继续。也可管理受信任的CA机构列表,向其中添加我们想要信任的CA机构。
(2)协商会话密钥
客户端在认证完服务器后,通过服务器的公钥与服务器进行加密通信,协商出两个对称的会话密钥,分别用于加密客户端往服务端发送数据的客户端会话密钥,用于加密服务端往客户端发送数据的服务端会话密钥。(还要协商对称会话密钥,是因为非对称加密相对复杂度更高,在数据传输过程中,使用对称加密,可以节省计算资源,另外,会话密钥是随机生成,每次协商都会有不一样的结果,安全性更高)
(3)数据加密通信
此时客户端服务器都有了本次通信的会话密钥,之后传输的所有http数据,都通过会话密钥加密。从而保证了数据的私密性和完整性。
##其中非对称加密算法用于握手过程中加密生成的密码,对称加密算法用于对真正的传输数据进行加密,hash算法用于验证数据的完整性
非对称加密算法:RSA、DSA/DSS
对称加密算法:AES、3DES、RC4
hash算法:MD5、SHA1、SHA256
配置:
X.509通用的证书格式包含三个文件:
key:私钥文件
csr:证书签名请求文件,用于提交给证书颁发机构(CA)对证书签名
crt:是CA机构签名后的证书,包含证书中的信息。
例:配置安全web服务站点http://www.openlab.com配置SSL加密,
要求:生成自签名证书文件为openlab.crt,私钥文件为openlab.key
第一步:安装SSL
#yum install mod_ssl -y
#rpm -qa mod_ssl
第二步:创建访问文件目录及其内容
#mkdir /www/openlab
#echo this is openlab > /www/openlab/index.html
第三步:编辑配置文件
#vim /etc/httpd/conf.d/vhost.conf
通过#sp命令打开/etc/httpd/conf.d/ssl.conf来复制粘贴五行SSL开头的内容,此处图片内容的.crt和.key路径已修改
第四步:注册证书
#cd /ect/pki/tls/certs
#make openlab.crt
第五步:修改/etc/httpd/conf.d/vhost.conf中的.crt和.key
路径
第六步:在/etc/hosts下输入ip绑定的域名
第七步:重启http服务
#systemctl restart httpd
第八步:浏览器测试


http://www.dtmao.cc/news_show_1307991.shtml
Linux上搭建https服务器的更多相关文章
- CentOS Linux上搭建PPPoE服务器及拨号设置
CentOS Linux上搭建PPPoE服务器及拨号设置 搭建PPPoE,成功了的话,就觉得超级简单,在CentOS Linux更是5步左右就能搞定. 1.安装pppoe,安装完成后,会有pppoe- ...
- linux上搭建图片服务器
之前写过一个搭建图片服务器的随笔:https://www.cnblogs.com/xujingyang/p/7163290.html ,现在回头看看,我去,感觉写的好乱,现在再整一个吧.o(╯□╰ ...
- linux上搭建ftp服务器
摘要 vsftpd 是"very secure FTP daemon"的缩写,安全性是它的一个最大的特点.vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行 ...
- 在linux上搭建SVN服务器并自动更新至WEB目录
1.仓库放在 /var/svn/ 目录下,并且仓库名为 project 2.创建用户组user,该组下添加两个成员user1.user2,密码直接用用户名,两用户可以checkout代码和提交代码 3 ...
- Linux上搭建Elasticsearch服务器并同步数据库
1.准备工作 下载Elasticsearch版本号2.3.4 https://www.elastic.co/downloads/past-releases/elasticsearch- ...
- linux上搭建svn服务器
1.检查当前版本,没有的话用yum安装rpm -qa subversion 2.安装yum install subversion -y 2.建库mkdir -p /home/svn/projectsv ...
- Linux上部署web服务器并发布web项目-转
Linux上部署web服务器并发布web项目 近在学习如何在linux上搭建web服务器来发布web项目,由于本人是linux新手,所以中间入了不少坑,搞了好久才搞出点成果.以下是具体的详细步骤以 ...
- Linux上部署web服务器并发布web项目
近在学习如何在linux上搭建web服务器来发布web项目,由于本人是linux新手,所以中间入了不少坑,搞了好久才搞出点成果.以下是具体的详细步骤以及我对此做的一些总结和个人的一些见解,希望对跟我一 ...
- windows 上搭建 sftp 服务器 -freesshd全过程( 在linux上部署逐浪CMS的必读教程)
文章标题: windows 上搭建 sftp 服务器 - freesshd全过程 关键字 : freesshd 文章分类: 教程 创建时间: 2020年3月23日 缘由 动手 第一步:添加用户 第二步 ...
随机推荐
- 文档驱动开发模式在 AIMS 中的应用与实践
摘要:程序员常会说:我最讨厌别人写的代码没有文档,我也最讨厌自己需要写文档. 有一个很老的梗: 我最讨厌别人写的代码没有文档,我也最讨厌自己需要写文档. 有这种想法的程序员应该算是一个老鸟了,对于大多 ...
- Nexus3.X在linux系统搭建maven私服
准备工作: 1.linux服务器上需安装jdk(非yum下来的open_jdk!!!,版本1.8以上) 2.linux服务器上需安装maven(如不会,请点击链接,maven版本自己喜欢就好) 准备工 ...
- Rabbitmq可靠消息投递,消息确认机制
前言 我们知道,消息从发送到签收的整个过程是 Producer-->Broker/Exchange-->Broker/Queue-->Consumer,因此如果只是要保证消息的可靠投 ...
- linux网关服务器
问题 多台服务器在内网网段,其中只有一台有公网ip可以上外网,需要让所有服务器都能连接外网 解决思路 使用路由转发的方式,将拥有公网ip的服务器搭建为网关服务器,即作为统一的公网出口 所谓转发即当主机 ...
- 你不知道的Linux目录
Linux二级目录及其对应的作用 主要文件
- VSCode运行时弹出powershell
问题 安装好了vscode并且装上code runner插件后,运行代码时总是弹出powershell,而不是在vscode底部终端 显示运行结果. 解决方法 打开系统cmd ,在窗口顶部条右击打开属 ...
- [WPF] 在单元测试中使用 Prism 的 EventAggregator,订阅到 ThreadOption.UIThread 会报错
1. 问题 [TestClass] public class UnitTest1 { [TestMethod] public void TestMethod1() { ContainerLocator ...
- oracle创建恢复编录(recovery catalog)
1.在要作为恢复编录的数据库创建用户 create user rman identified by oracle default tablespace system temporary TABLESP ...
- 使用gui_upload的总结
今天使用gui_upload函数将文本文件的内容读取到内表.出现了一个问题,总是程序宕掉,出项的提示是 Type conflict when calling a function module. 原来 ...
- ABAP 面试问题和答案
What is an ABAP data dictionary?- ABAP 4 data dictionary describes the logical structures of the obj ...