apache几个常见配置文件的作用

摘要:
2.3.1 SSL记录协议层记录协议层用于为高级协议提供基本安全服务。SSL记录协议是专门为HTTP协议设计的,因此超文本传输协议HTTP可以在SSL中运行。SSL握手协议的作用是协调客户端和服务器的状态,以便双方都可以实现状态同步。

  进行虚拟主机配置

  NameVirtuaHost *:80

表示基于名称的虚拟主机  *:80表示监听本机所有IP的80端口上提供HTTP服务,*可以设置为具体IP
<VirtualHost *:80>
serveradmin 管理员邮箱
servername  域名
serveralias 别名        可以设置多个域名指向同一个站点
errorlog    错误日志
customlog   访问日志
</VirtualHost>
虚拟主机的配置是局部优先原则,也就是http_vhost.conf配置了,那么就不会从主配置文件http.conf中读取了

 

2.apache-conf-extra-httpd-ssl.conf的作用

  支持SSL加密配置

 

  2.1SSL加密?

  SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。

  SSL是Netscape公司所提出的安全保密协议,在浏览器(如Internet Explorer、Netscape Navigator)和Web服务器(如Netscape的Netscape Enterprise Server、ColdFusion Server等等)之间构造安全通道来进行数据传输,SSL运行在TCP/IP层之上、应用层之下,为应用程序提供加密数据通道,它采用了RC4、MD5以及RSA等加密算法,使用40 位的密钥,适用于商业信息的加密。同时,Netscape公司相应开发了HTTPS协议并内置于其浏览器中,HTTPS实际上就是HTTP over SSL,它使用默认端口443,而不是像HTTP那样使用端口80来和TCP/IP进行通信。HTTPS协议使用SSL在发送方把原始数据进行加密,然后在接受方进行解密,加密和解密需要发送方和接受方通过交换共知的密钥来实现,因此,所传送的数据不容易被网络黑客截获和解密。

  SSL协议可分为两层:①. SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。 ②.SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

 

  缺点:

    然而,加密和解密过程需要耗费系统大量的开销,严重降低机器的性能,相关测试数据表明使用HTTPS协议传输数据的工作效率只有使用HTTP协议传输的十分之一。假如为了安全保密,将一个网站所有的Web应用都启用SSL技术来加密,并使用HTTPS协议进行传输,那么该网站的性能和效率将会大大降低,而且没有这个必要,因为一般来说并不是所有数据都要求那么高的安全保密级别。
 
  SSL加密并不保护数据中心本身,而是确保了SSL加密设备的数据中心安全,可以监控企业中来往于数据中心的最终用户流量。从某个角度来看,数据中心管理员可以放心将加密装置放在某个地方,需要使用时再进行应用,数据中心应该会有更合理的方法来应对利用SSL的恶意攻击,需要找到SSL加密应用的最佳实践。
 
  用途:
  1)认证用户和服务器,确保数据发送到正确的客户机和服务器;
  2)加密数据以防止数据中途被窃取;
  3)维护数据的完整性,确保数据在传输过程中不被改变。

 

2.2 SSL的工作流程:

  服务器认证阶段:
    1)客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接;
    2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息;
    3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;
    4)服务器回复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。
 

 

  用户认证阶段:在此之前,服务器已经通过了客户认证,这一阶段主要完成对客户的认证。经认证的服务器发送一个提问给客户,客户则返回(数字)签名后的提问和其公开密钥,从而向服务器提供认证。
 
  2.3SSL体系结构
    SSL的体系结构中包含两个协议子层,其中底层是SSL纪录协议层(SSL Record Protocol Layer);高层是SSL握手协议层(SSL HandShake Protocol Layer)。
 
    2.3.1SSL纪录协议层
    纪录协议层的作用是为高层协议提供基本的安全服务。SSL纪录协议针对HTTP协议进行了特别的设计,使得超文本的传输协议HTTP能够在SSL运行。纪录封装各种高层协议,具体实施压缩解压缩、加密解密、计算和校验MAC等与安全有关的操作。
 
      2.3.2SSL握手协议层
     SSL握手协议层包括SSL握手协议(SSL HandShake Protocol)、SSL密码参数修改协议(SSL Change Cipher Spec Protocol)、应用数据协议(Application Data Protocol)和SSL告警协议(SSL Alert Protocol)。握手层的这些协议用于SSL管理信息的交换,允许应用协议传送数据之间相互验证,协商加密算法和生成密钥等。SSL握手协议的作用是协调客户和服务器的状态,使双方能够达到状态的同步。
 
  

  2.4SSL的会话状态

  会话(Session)和连接(Connection)是SSL中两个重要的概念,在规范中定义如下。
  (1)SSL连接:用于提供某种类型的服务数据的传输,是一种点对点的关系。一般来说,连接的维持时间比较短暂,并且每个连接一定与某一个会话相关联。
 
  (2)SSL会话:是指客户和服务器之间的一个关联关系。会话通过握手协议来创建。它定义了一组安全参数。
一次会话过程通常会发起多个SSL连接来完成任务,例如一次网站的访问可能需要多个HTTP/SSL/TCP连接来下载其中的多个页面,这些连接共享会话定义的安全参数。这种共享方式可以避免为每个SSL连接单独进行安全参数的协商,而只需在会话建立时进行一次协商,提高了效率。
  每一个会话(或连接)都存在一组与之想对应的状态,会话(或连接)的状态表现为一组与其相关的参数集合,最主要的内容是与会话(或连接)相关的安全参数的集合,用会话(或连接)中的加密解密、认证等安全功能的实现。在SSL通信过程中,通信算法的状态通过SSL握手协议实现同步。
 
 
  根据SSL协议的约定,会话状态由以下参数来定义:
  (1)会话标识符:是由服务器选择的任意字节序列,用于标识活动的会话或可恢复的会话状态。
  (2)对方的证书:会话对方的X.509v3证书。该参数可为空。
  (3)压缩算法:在加密之前用来压缩数据的算法。
  (4)加密规约(Cipher Spec):用于说明对大块数据进行加密采用的算法,以及计算MAC所采用的散列算法。
  (5)主密值:一个48字节长的秘密值,由客户和服务器共享。
  (6)可重新开始的标识:用于指示会话是否可以用于初始化新的连接。
 
   连接状态可以一下参数来定义:
  (1)服务器和客户器的随机数:是服务器和客户为每个连接选择的用于标识连接的字节序列。
  (2)服务器写MAC密值:服务器发送数据时,生成MAC
  (3)使用的密钥,长度为128 bit。
  (4)客户写MAC密值,服务器发送数据时,用于数据加密的密钥,长度为128 bit 。
  (5)客户写密钥:客户发送数据时,用于数据加密的密钥,长度为128 bit。
  (6)初始化向量:当使用CBC模式的分组密文算法是=时,需要为每个密钥维护初始化向量。
  (7)序列号:通信的每一端都为每个连接中的发送和接收报文维持着一个序列号。

 

 

 

 

 

 

免责声明:文章转载自《apache几个常见配置文件的作用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇这样统计代码执行耗时,才足够优雅!权限管理 (一) 设计思路分析和实现授权、认证下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

非常吊炸天的Xcode插件,你想要的这都有

整理自BigPolarBear的博客、杂技杂记以及CC此前整理。 古人云“工欲善其事必先利其器”,打造一个强大的开发环境,是立即提升自身战斗力的绝佳途径!以下是搜集的一些有力的XCode插件。 注意:部分插件可能有新版本,建议大家去github下载最新版 1.全能搜索家CodePilot 2.0 你要找的是文件?是文件夹?是代码?Never Mind,CM...

Raft协议--中文论文介绍

本篇博客为著名的 RAFT 一致性算法论文的中文翻译,论文名为《In search of an Understandable Consensus Algorithm (Extended Version)》(寻找一种易于理解的一致性算法)。 Raft 是一种用来管理日志复制的一致性算法。它和 Paxos 的性能和功能是一样的,但是它和 Paxos 的结构不一...

vue,element列表大数据卡顿问题,vue列表渲染慢,element表格渲染慢,表格渲染慢(卡),表格全选卡,使用umy-ui

https://u-leo.github.io/umy-ui/docs/index.html https://github.com/u-leo/umy-ui ### umy-ui 一套为开发者准备的基于 Vue 2.0 的桌面端组件库,完美解决表格万级数据渲染卡顿,编辑表格卡顿问题 > umy-ui叫(U米-ui)或者叫悠米-ui > um...

抓apk中的https包(​含破解https的SSL Pinning)

一般来说,http请求的包都可以通过fiddler来抓包(http2.0不支持)。 https抓包的原理是利用中间人攻击,向客户端伪装成服务端,向服务端伪装成客户端,从而可以抓包,但是有部分https的包是抓取不了的。 其中可能用到了SSL Pinning(证书绑定或SSL证书绑定)技术。 然而道高一尺魔高一丈,下面通过一种简单的办法来修改apk的配置,允...

如何同步两个SQLServer数据库的内容 dodo

如何同步两个SQLServer数据库的内容? 程序代码可以有版本管理CVS进行同步管理,可是数据库同步就非常麻烦,只能自己改了一个后再去改另一个,如果忘记了更改另一个经常造成两个数据库的结构或内容上不一致. 分发与复制 用强制   订阅实现数据库同步操作  大量和批量的数据可以用数据库的同步机制处理: // 说明: 为方便操作,所有操作均在发布服...

浅析AnyCast网络技术

什么是BGP AnyCast? BGP anycast就是利用一个(多个) as号码在不同的地区广播相同的一个ip段。利用bgp的寻路原则,短的as path 会选成最优路径(bgp寻路原则之n),从而优化了访问速度。 其实bgp anycast是不同服务器用了相同的ip地址。 阿里的DNS 就是使用了BGP AnyCast “其实bgp anycast是...