第7章 Web服务器.ppt_第1页
第7章 Web服务器.ppt_第2页
第7章 Web服务器.ppt_第3页
第7章 Web服务器.ppt_第4页
第7章 Web服务器.ppt_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第7章Web服务器 主编 张金石 本章学习导航 本章学习导航 本章学习要点 1 Web服务器概述 2 Apache服务器部署 3 Web应用程序配置 4 Web服务器安全 5 虚拟主机建立与管理 6 Web网站维护与更新建议课时 6课时 7 1Web服务器概述 Web服务器概念客户端运行Web浏览器程序服务器端运行Web服务程序Web服务器运行机制使用HTTP协议从服务器下载页面的过程Web网站Web服务器以网站形式提供服务网站是网页或应用程序的有机集合 Web工作原理 7 1Web服务器概述 Web应用程序概念基于Web开发的程序借助Web浏览器来运行具有数据交互处理功能Web应用程序工作原理 Web应用程序 7 1Web服务器概述 Web服务器软件选择原则考虑网站规模和用途是否选择商业软件考虑操作系统平台考虑对Web应用程序的支持Apache简介超过50 的市场占有率源代码完全开放 具有无限扩展功能的优点具有跨平台特性性能和稳定性远远领先于其他Web服务器产品 Web服务器解决方案 7 2Apache服务器基本配置 安装软件几乎所有Linux发行版本都捆绑ApacheApache服务器软件在Linux中的守护进程名称为httpd检查当前Linux系统是否安装有该软件包rpm qa grephttpd执行安装命令rpm ivhServer httpd 2 2 3 6 el5 i386 rpm测试Apache服务器启动该服务 执行以下命令启动该服务etc init d httpdstart打开浏览器 输入Apache服务器的IP地址进行实际测试默认网站主目录为 var www html 将要发布的网页文档复制到该目录 安装Apache服务器 7 2Apache服务器基本配置 Web服务基本管理 etc init d httpd start stop restart condrestart reload status configtest 或者servicehttpd start stop restart condrestart reload status configtest Web服务自动加载执行ntsysv命令启动服务配置程序使用chkconfig命令设置chkconfig level235httpdon 管理Web服务 7 2Apache服务器基本配置 主配置文件 etc httpd conf httpd conf组成部分全局环境 Section1 GlobalEnvironment 主服务器配置 Section2 Main serverconfiguration 虚拟主机 Section3 VirtualHosts 分层管理 自上而下依次为 服务器 全局 网站 虚拟主机 目录 虚拟目录 文件基本格式每行一个指令 格式如下 指令名称参数参数中的文件名需要用 代替 Apache服务器配置文件 7 2Apache服务器基本配置 容器格式一组指令容器用于判断指定的模块是否存在 和分别用于限定作用域为目录 文件和URL地址用于定义虚拟主机检查配置文件使用命令apachectlconfigtest或httpd t检查配置文件的语法错误 Apache服务器配置文件 7 2Apache服务器基本配置 设置服务器根目录服务器根目录是Apache配置文件和日志文件的基础目录使用指令ServerRoot设置服务器根目录ServerRoot etc httpd 设置PidFile路径PidFile指定的文件记录了所有httpd子进程的父进程的进程号PidFilerun httpd pid设置连接参数TimeOut 设置连接请求超时的时间KeepAlive 设置是否启用持久连接功能MaxKeepAliveRequests 设置在一个持久连接期间所允许的最大HTTP请求数目KeepAliveTimeout 设置一个持久连接期间所允许的最长时间 Apache服务器全局配置 7 2Apache服务器基本配置 配置MPM 多处理模块 prework 模块为每个请求创建一个新的进程 多余的进程保持空闲以处理新的请求 默认配置 StartServers8 设置Apache启动时的服务器进程数MinSpareServers5 设置最小的空闲子进程数MaxSpareServers20 设置最大的空闲子进程数 多余子进程会被系统关闭 ServerLimit256 设置服务器所允许的MaxClients最大值MaxClients256 设置服务器所允许的最大并发连接数MaxRequestsPerChild4000 设置每个子进程可以处理的最大请求数 Apache服务器全局配置 7 2Apache服务器基本配置 配置MPM 多处理模块 worker 模块使用多个进程 主要设置线程StartServers2 设置Apache启动时初始的服务器进程数MaxClients150 设置服务器所允许的最大并发连接数MinSpareThreads25 设置最小的空闲worker线程数MaxSpareThreads75 设置最大的空闲worker线程数ThreadsPerChild25 设置服务器进程所允许的并发线程数MaxRequestsPerChild0 0值表示每个子进程可以处理请求不受限制 Apache服务器全局配置 7 2Apache服务器基本配置 设置Apache服务器侦听的IP地址和端口号可使用多个Listen指令设置在多个地址和端口上侦听请求Listen IP地址 端口设置动态加载模块对于动态加载方式 只需要设置httpd conf文件中的LoadModule参数即可LoadModuleauth basic modulemodules mod auth basic so设置包含文件使用Include指令将其他配置文件的内容加入到httpd conf文件中Includeconf d conf设置运行Apache服务器的用户或群组Userapache 专用的系统用户Groupapache 专用的系统组 Apache服务器全局配置 7 2Apache服务器基本配置 设置服务器管理员电子邮件地址该地址便于网站浏览者与服务器管理员联系ServerAdminroot localhost设置服务器主机名和端口服务器用于识别自己的主机名和端口 主要用于重定向和虚拟主机的识别ServerN 80设置服务器如何构造URL使用指令UseCanonicalName设置Apache服务器如何构造自引用的URL地址 以及服务器名称和端口变量设置主目录的路径主目录是网站的 根 目录 映射为网站的域名或服务器名DocumentRoot var www html Apache主服务器基本配置 7 2Apache服务器基本配置 设置网站默认文档默认文档可以是目录的主页 也可以是包含网站文档目录列表的索引页DirectoryIndexindex htmlindex html var设置日志文件错误日志ErrorLoglogs error log 此路径相对于ServerRoot目录LogLevelwarn访问日志CustomLoglogs access logcombined 此路径相对于ServerRoot目录设置默认字符集使用指令AddDefaultCharset定义服务器返回给客户端的默认字符集 Apache主服务器基本配置 7 2Apache服务器基本配置 容器容器于封装一组指令 对指定的目录及其子目录有效一组指令目录访问控制方式在httpd conf文件中使用容器对每个目录进行设置在每个目录下建立一个访问控制文件 htaccess 将访问控制参数写在该文件中目录访问控制指令访问控制指令由Apache的内建模块mod access提供指令主要有Allow Deny和Order访问控制指令限制对目录 文件或URL地址的访问 配置目录访问控制 7 2Apache服务器基本配置 使用Options指令控制特定目录的特性使用AllowOverride指令控制 htaccess文件使用使用Allow指令指定允许访问的主机Allowfrom主机列表使用Deny指令指定允许访问的主机Denyfrom主机列表使用Order指令指定Allow与Deny指令的处理顺序Orderallow deny 表示Allow指令比Deny指令优先处理Orderdeny allow 表示Deny指令比Allow指令优先处理Ordermutual failure 表示只有使用Allow指令明确指定 且没有使用Deny指令明确指定的主机才允许访问 配置目录访问控制 7 2Apache服务器基本配置 虚拟目录特点虚拟目录的别名通常比目录的路径名短 使用起来更方便更安全 因为用户不知道文件是否真的存在于服务器上可以更方便地移动和修改网站中的目录结构便于调整或扩大网站磁盘空间虚拟目录的应用虚拟目录用于网站目录管理虚拟目录作为网站的一个组成部分 相当于其子网站利用虚拟目录可为多个部门或用户提供主页发布创建虚拟目录使用Alias指令可以创建虚拟目录Aliasfakenamerealname 配置和管理虚拟目录 7 2Apache服务器基本配置 修改httpd conf配置文件的部分 启用用户目录功能修改httpd conf配置文件 为用户Web站点目录配置访问控制在用户主目录下创建public html子目录并修改权限 home zhang权限设置为711 home zhang public html权限设置为755在用户主目录下public html子目录中创建index html文件 编写简单的内容 该子目录下的文件对于任何用户必须是可读的重新启动httpd守护进程 或者重新加载配置文件测试 为用户配置个人Web空间 可以通过配置用户目录 为在Apache服务器上拥有用户账户的每个用户都可以建立自己单独的Web空间 子网站 7 3配置Web应用程序 使用ScriptAlias指令映射CGI程序路径通过ScriptAlias指令设置一个CGI程序专用的目录ScriptAlias cgi bin var www cgi bin 基于Perl编写CGI程序CGI程序的所有输出必须前置一个MIME类型标头CGI输出要采用HTML格式或浏览器可显示的其他格式为CGI程序文件设置只读和运行权限ScriptAlias目录便于集中部署CGI程序在其他目录中定制CGI程序用AddHandler或SetHandler指令设置CGI文件类型 扩展名 用Options指令为目录授予CGI脚本执行权限 ExecCGI 配置CGI应用程序 7 3配置Web应用程序 安装PHP解释器配置Apache以支持PHP 关键是编辑php conf文件 使用AddHandler指令设置PHP文件类型AddHandlerphp5 script php使用AddType指令指定PHP文件MIME类型AddTypetext html php使用DirectoryIndex指令设置PHP默认文件类型DirectoryIndexindex phpPHP本身的配置则需要编辑 etc php ini文件测试PHP 配置PHP应用程序 7 3配置Web应用程序 安装MySQL及相关程序rpm ivhServer perl DBI 1 52 1 fc6 i386 rpmrpm ivhServer perl DBD MySQL 3 0007 1 fc6 i386 rpmrpm ivhServer mysql 5 0 22 2 1 i386 rpmrpm ivhServer mysql server 5 0 22 2 1 i386 rpm使用phpMyAdmin管理MySQL 配置和管理MySQL数据库服务器 7 4配置Web服务器安全 认证指令认证指令可在主配置文件的容器中 也可置于 htaccess文件中 使用AuthType指令设置认证类型 基本认证 Basic 或摘要认证 Digest 使用AuthName指令设置认证领域使用AuthUserFile指令设置密码文件的路径使用AuthGroupFile指令设置密码组文件的路径授权命令Requireuser 为特定的一个或多个用户授权Requiregpoup 为特定的一个或多个组授权Requirevalid user 为认证密码文件中的所有用户授权管理密码文件使用Apache自带的htpasswd工具建立和更新密码文件htpasswd c m D 密码文件名用户名 用户认证 7 4配置Web服务器安全 限制目录访问容器封装一组指令 限制指定的目录及其子目录访问限制文件访问一组指令限制URL地址访问一组指令通过文件权限控制访问Linux系统本身文件权限的设置 访问控制 7 5配置和管理虚拟主机 特点将每个网站绑定到不同的IP地址可在同一台服务器上支持多个HTTPS主要用于部署多个要求SSL服务的安全网站配置虚拟主机用Listen指令设置服务器需要侦听的地址和端口用针对特定地址和端口配置虚拟主机ServerNDocumentRoot var www infoServerNDocumentRoot var www sales 基于IP的虚拟主机 7 5配置和管理虚拟主机 特点将多个域名绑定到同一IP地址各虚拟主机之间通过域名进行区分充分利用有限的IP地址资源不能支持SSL安全服务配置虚拟主机在域名服务器上将多个域名映射到同一IP地址在httpd conf配置文件中使用NameVirtualHost指令设置负责响应Web请求的IP地址 加上端口 为每个虚拟主机创建一个块VirtualHost 指令的参数必须与NameVirtualHost指令的参数保持一致在每个块中 至少需要使用ServerName指令设置响应请求的主机 使用DocumentRoot指令定义网站根目录 基于名称的虚拟主机 7 5配置和管理虚拟主机 虚拟主机匹配顺序当一个请求到达时 服务器首先检查它是否使用了一个与NameVirtualHost匹配的IP地址如果是 就会逐一查找使用该IP地址的段 并尝试找出一个与ServerName或ServerAlias指令所设置参数与所请求的主机名 域名 相同的段如果找到 则使用该虚拟主机的配置 并响应其访问请求 否则将使用符合这个IP地址的第一个列出的虚拟主机 基于名称的虚拟主机 排在最前面的虚拟主机成为默认虚拟主机 当请求的IP地址与NameVirtualHost指令中的地址相匹配时 主服务器中的DocumentRoot将永远不会被用到 7 5配置和管理虚拟主机 实例 在单一IP地址上运行多个基于名称的Web网站在DNS服务器中为每个网站注册所使用的域名在httpd conf配置文件中使用使用Listen指令设置指定要侦听的地址和端口使用NameVirtualHost指令为基于域名的虚拟主机指定要用的IP地址和端口NameVirtualHost 80使用容器指令为每一个虚拟主机进行配置DocumentRoot var www infoServerNDocumentRoot var www salesServerN 基于名称的虚拟主机 7 5配置和管理虚拟主机 实例 在多个IP地址上运行基于名称的Web网站这种方案适用于任意数量的IP地址除了配置相应的域名外 主要的配置如下 全局配置Listen80 主服务器配置ServerNDocumentRoot var www html 虚拟主机配置NameVirtualHost192 168 0 12DocumentRoot var www infoServerNDocumentRoot var www salesServerN 基于名称的虚拟主机 7 5配置和管理虚拟主机 实例 在不同IP地址上 内外网 运行相同的Web网站服务器有两个IP地址位于内外网边界 域名对外网来说解析到外部地址 对内网来说解析到内部地址 Web网站可以响应来自内外部的Web请求 与虚拟主机相关的配置NameVirtualHost192 168 0 1NameVirtualHost172 16 16 1DocumentRoot var www html ServerNServerAliaswebserver 基于名称的虚拟主机 7 5配置和管理虚拟主机 特点通过附加端口号 服务器只需一个IP地址即可维护多个网站只需一个IP就可创建多个网站输入非标准端口号才能访问网站 开放非标准端口容易导致被攻击主要用于网站开发和测试 以及网站管理实例 全局配置Listen80Listen8080 虚拟主机配置ServerNDocumentRoot var www infoServerNDocumentRoot var www sales 基于TCP端口架设多个Web网站 7 6基于SSL协议部署安全网站 概述SSL目前主要有两个版本2 0和3 0SSL采用公钥和私钥两种加密体制对服务器和客户端的通信提供保密性 数据完整性和身份验证 在建立连接过程中采用公钥 在会话过程中使用私钥在SSL中使用的证书有两种类型解决的关键问题客户端对服务器的身份确认 服务器对客户的身份确认 在服务器和客户端之间建立安全的数据通道 应用SSL已在浏览器和服务器的验证 信息的完整性和保密性中广泛使用 成为一种事实上的工业标准除Web应用外 还被用于Telnet FTP SMTP POP3 NNTP网络服务 理解SSL协议 7 6基于SSL协议部署安全网站 概述OpenSSL是一个健壮的 商业等级的 完整的开放源代码的工具包 用强大的加密算法来实现SSL2 0 3 0和TLS1 0OpenSSL软件包提供有密码算法库 SSL协议库以及应用程序主要功能创建RSA 一种非对称加密算法 DH Diffie Hellman 也是一种非对称加密算法 和DSA 数字签名算法 密钥参数 创建X 509证书 CSR 证书签名请求 和证书吊销列表 CRL 计算消息摘要 加密和解密密文 测试SSL TLS客户端和服务器 基于S MIME签名或加密电子邮件 OpenSSL简介 7 6基于SSL协议部署安全网站 基于SSL的Web网站实现的安全目标用户 浏览器端 确认Web服务器 网站 的身份 防止假冒网站在Web服务器和用户 浏览器端 之间建立安全的数据通道 确保安全地传输敏感数据 防止数据被第三方非法获取如有必要 可以让Web服务器 网站 确认用户的身份 防止假冒用户架设SSL安全网站的条件需要从可信的或权威的证书颁发机构 CA 获取Web服务器证书 也可以创建自签名的证书 X509结构 还要保证证书不能过期 必须在Web服务器上安装服务器证书并启用SSL功能 如果要求对客户端 浏览器端 进行身份验证 客户端需要申请和安装用户证书 如果不要求对客户端进行身份验证 客户端必须与Web服务器信任同一证书认证机构 需要安装CA证书 基于SSL的安全网站解决方案 7 6基于SSL协议部署安全网站 安装必要的软件包为Apache服务器准备SSL证书为Apache服务器启用SSL功能Linux客户端基于SSL连接到Apache服务器Windows客户端基于SSL连接到Apache服务器强制客户端使用SSL连接以 https 打头的URL与Web网站建立SSL连接 为Apache服务器配置SSL 7 6基于SSL协议部署安全网站 为Apache虚拟主机启用SSL功能基于IP的虚拟主机Listen443 使用指令SSLEngine开启SSL引擎 使用指令SSLCertificateFile设置服务器证书路径 使用指令SSLCertificateKeyFile设置服务器私钥路径 使用指令SSLEngine开启SSL引擎 使用指令SSLCertificateFile设置服务器证书路径 使用指令SSLCertificateKeyFile设置服务器私钥路径 为Apache服务器配置SSL 7 6基于SSL协议部署安全网站 为Apache虚拟主机启用SSL功能基于TCP端口的虚拟主机Listen443Listen8443 使用指令SSLEngine开启SSL引擎 使用指令SSLCertificateFile设置服务器证书路径 使用指令SSLCertificateKeyFile设置服务器私钥路径 使用指令SSLEngine开启SSL引擎 使用指令SSLCertificateFile设置服务器证书路径 使用指令SSLCertificateKeyFile设置服务器私钥路径 为Apache服务器配置SSL 7 7维护和更新Web网站资源 概述FTP文件传输效率高 但安全性较差ISP提供的虚拟主机或个人主页空间 大都是让用户通过FTP来管理的实现方案将不同用户的虚拟主机站点内容放在不同的目录中 每个站点使用一个独立的目录 将其设置为相应的Web站点主目录 针对每个虚拟主机主目录 在FTP站点上以虚拟目录的形式建立相应的用户主目录 为用户主目录分配适当的写入或上载权限 启用磁盘配额功能 并设置各个虚拟主机的磁盘容量限额 通过FTP管理Web网站 7 7维护和更新Web网站资源 WebDAV的特性WebDAV让用户通过HTTP连接 而不是FTP连接 来管理服务器上的文件 包括对文件和目录的建立 删改 属性设置等操作 就像在本地资源管理器中操作一样简单 WebDAV可使用SSL安全连接 HTTPS 进一步提高安全性 用户编辑存储在WebDAV服务器中的文档时 可以锁定该文档以保证自己的修订不会被其他用户所覆盖 使用WebDAV版本控制 可以让用户获知文档的最新版本WebDAV服务器与客户端支持WebDAV的Web服务器都能提供安全创作的环境 如IIS5 0及更新版本 Apache1 x及更新版本支持工业标准WebDAV协议的客户端软件都可访问WebDAV发布目录 如Windows平台的网上邻居 IE浏览器和Office应用程序 Linux平台的文件浏览器和专门的WebDAV客户端软件 通过WebDAV管理Web网站 7 7维护和更新Web网站资源 在Apache服务器上配置WebDAV安装WebDAV模块以支持WebDAV服务修改Apache配置文件设置要启用WebDAV服务的目录 发布目录 使用DavLockDB指令定义WebDAV锁定数据库的目录 DAVLockDB var lib dav lockdb WebDAV锁定数据库的目录设置WebDAV发布目录 alias testdav var www testdav 定义虚拟目录 将 testdav目录设置为WebDAV发布目录OrderAllow DenyAllowfromallDavOn 使用Dav指令启用WebDAV功能 以下设置对访问WebDAV目录的用户进行认证AuthTypeBasicAuthName WebDAVRestricted AuthUserFile etc httpd passwd passwords 除了只读访问之外都需要对用户进行认证Requireuserzhong Location 通过WebDAV管理Web网站 7 7维护和更新Web网站资源 使用Cadaver测试WebDAV服务器在Linux客户端中通过图形界面访问WebDAV资源在Windows客户端中访问WebDAV资源通过WebDAV管理Apache网站只需将主服务器或虚拟主机的根目录设置为WebDAV发布目录即可 要管理以虚拟目录方式提供的主页空间 可将其对应的物理目录设置为WebDAV发布目录 出于安全考虑 用户认证要使用HTTP摘要验证模式 如果使用基本验证模式 应建立SSL安

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论