1.web架构
负载均衡 | LVS NGINX (对正则表达支持优秀) HAProxy |
业务层 | Tomcat Jetty JBOSS weblogic Resin(缓存强) Apache-php RS |
业务见通信层 | 消息队列方式:AMQP协议,非AMQP,各ESB实现,DUBBO |
数据库层 | 常用缓存技术:memcacbed redis tair 关系数据库 键值数据库 列簇数据库 文件存储 图数据库 文档数据库 |
2.运维架构
- 独立的Nginx负载或者HAProxy方案
- LVS(DR)+ Nginx方案
- DNS轮询+LVS+Nginx方案
- 智能DNS+LVS




3.apache
1.安装apache
(1)yum -y install httpd,http-devel,httpd-manual
2.apache主要工作目录


3.apache的httpd.conf的主要配置项




3.2使用虚拟目录为多部门建子网站
- 1.创建虚拟目录存放位置及虚拟目录默认首页文件
- 2. 创建、编辑虚拟目录子配置文件。默认情况下,位于/etc/httpd/conf.d/目录下的所有以.conf结尾的文件都会被加载作为Apache的配置信息,为此,在/etc/httpd/conf.d/下新建一个子配置文件(如vdir.conf)来配置虚拟目录。
4.http
- http:超文本传输协议
- URL:统一资源定位符:由协议,主机和端口以及文件名三部分构成
- http工作原理


- http非持久性连接
- 非持久性连接:获取后立即释放连接
- 持久性连接:在一个连接中可以进行多次文档的请求和响应
- 无状态性:服务器不记录客户端的访问记录,服务器不知道这个客户端曾经是否访问过,使其可以更容易的支持大量并发的请求
- http请求方法
方法 | 含义 | 方法 | 含义 |
GET | 请求读取一个web页面 | HEAD | 请求读取一个web页面的头部 |
post | 附加一个命名资源 | PUT | 请求存储一个web页面 |
delete | 删除web页面 | trace | 用于测试,要求服务器送回收到的请求 |
connect | 用户代理服务器 | option | 查询特定的选项 |
- 响应报文中的状态码(status-code)
状态码 | 含义 | 例子 |
1xx | 通知信息 | 100=服务器正在处理客户请求 |
2xx | 成功 | 200=访问成功 |
3xx | 重定向 | 301=页面改变了位置 |
4xx | 客户错误 | 403=禁止页面;404=页面错误 |
5xx | 服务器错误 | 500=服务器内部错误;503=以后再试 |
- 首部字段或者消息头


- UA字段:user-agent:浏览器标识(操作系统标识,加密等级标识;浏览器语言)渲染引用标识,版本信息
- location:web服务器告诉浏览器,试图访问的对象已经被一道别的位置,到该头部指定的位置去取
- Session
- cookie: 保存SessionID的方式可以采用Cookie,这样在交互过程中浏览器可以自动的按照规则把这个SessionID发回给服务器。Cookie的命名方式类似于SessionID。有时Cookie被人为的禁止,所以出现了其他机制以便在Cookie被禁止时仍然能够把SessionID传递回服务器。这种技术叫做URL重写,就是把SessionID直接附加在URL路径的后面,附加方式也有两种,一种是作为URL路径的附加信息,表现形式为http://www.wantsoft.com/index.asp;jsessionid= ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764 。
5.SSL
- 概述:它是为了保证正常运行与tcp上的任何协议如http,ftp,smtp,telnet的通信,最常用的是用ssl来保护http的通信.
- ssl的优点是他与应用层协议无关的,高层的协议能透明的建立在ssl协议上
- 它在应用层协议之前就完成了加密算法,通信密钥的协商以及服务器的认证工作,在此之后应用层协议所传输的数据都会被加密,从而保证通信的安全性.
- ssl解决的问题:客户对服务器的身份认证,服务器对客户的身份认证,建立2服务器与客户之间安全的数据通道
- ssl协议分析:
- ssl是一个分层的协议共两层:ssl记录层(ssl record protocol)位于传输层只上,用于封装高层协议的数据;ssl握手协议(ssl handshake protocol)允许服务方和客户方互相认证,并在应用层协议传送数据之前协商出一个加密算法和会话密钥.
- ssl 连接:
- 一个连接是一个提供一种合适类型服务的传输(OSI分层的定义)
- SSL的连接是点对点的关系。
- 连接是暂时的,每一个连接和一个会话关联。
- ssl会话:
- 一个SSL会话是在客户与服务器之间的一个关联。会话由Handshake Protocol创建。会话定义了一组可供多个连接共享的密码安全参数。
- 会话用以避免为每一个连接提供新的安全参数所需昂贵的协商代价。


- ssl协议的脆弱性分析
- 客户端假冒: –因为SSL协议设计初衷是对Web站点及网上交易进行安全性保护,使消费者明白正在和谁进行交易要比使商家知道谁正在付费更为重要,为了不致于由于安全协议的使用而导致网络性能大幅下降, SSL协议并不是默认地要求进行客户鉴别,这样做虽然有悖于安全策略,但却促进了SSL的广泛应用。 –针对这个问题,可在必要的时候配置SSL协议,使其选择对客户端进行认证鉴别。
- 无法保护udp的应用
- 不能对抗流量分析: •由于SSL只对应用数据进行保护,数据包的IP头和TCP头仍然暴露在外,通过检查没有加密的IP源和目的地址以及TCP端口号或者检查通信数据量,一个通信分析者依然可以揭示哪一方在使用什么服务,有时甚至揭露商业或私人关系的秘密。
- 进程中主密钥泄漏: •除非SSL的工程实现大部分驻留在硬件中,否则主密钥将会存留在主机的主存储器中,这就意味着任何可以读取SSL进程存储空间的攻击者都能读取主密钥,因此,不可能面对掌握机器管理特权的攻击者而保护SSL连接,这个问题要依靠用户管理策略来解决。