Apache服务配置指南
date
Jun 19, 2016
URL
slug
centos-apache-server-config
status
Published
tags
DevOps
summary
本文主要介绍了Apache服务器的安装配置、性能优化和安全防护等方面的内容。文中包含了Apache的工作原理简介、配置指南,详细讲解了基于IP、端口、域名的虚拟主机配置,以及KeepAlive、压缩、缓存等功能的应用。
type
Post
Apache是目前最流行的WEB服务器软件之一,本文将详细介绍Apache的安装配置与优化。
Apache简介
Apache HTTP Server是一个功能强大的开源WEB服务器软件,可以运行在几乎所有广泛使用的计算机平台上。Apache具有许多优点,如速度快、扩展性好、可定制性强等,适合搭建高性能的WEB服务器。
Apache安装
在Linux系统上,可以使用包管理工具安装Apache:
这将安装httpd软件包及开发与文档包。安装后需要配置防火墙开放80端口。
基础配置
Apache的主配置文件为
/etc/httpd/conf/httpd.conf
。常用的参数包括:- ServerRoot: Apache根目录
- Listen: 监听端口
- ServerAdmin: 管理员邮箱
- ServerName: 服务器域名或IP
- DocumentRoot: 网站根目录
- DirectoryIndex: 主页文件名
例如:
虚拟主机
虚拟主机可以在一台Apache服务器上配置多个网站。支持基于IP、端口、域名的虚拟主机。
基于IP的虚拟主机
使用不同IP区分不同网站:
基于域名的虚拟主机
使用ServerName区分不同域名:
基于端口的虚拟主机
不同端口代表独立网站:
性能优化
Apache提供了许多指令来优化性能,主要包括:
- 使用mpm事件驱动模型:默认的mpm优先处理每个连接的所有请求,可以切换到event模型,通过异步非阻塞方式提升并发性能。
- 启用压缩:使用mod_deflate模块提供gzip压缩功能,可以减少传输体积,提高响应速度。
- 设置 KeepAlive:KeepAlive使持久连接可以处理多个请求,避免建立关闭连接的开销。可以通过MaxKeepAliveRequests和KeepAliveTimeout进行优化。
- 使用缓存:通过mod_cache模块实现请求结果缓存,不重复生成动态内容,减轻后端负载。
- 前端代理:使用反向代理如Nginx实现负载均衡和缓存,降低Apache压力。
- 优化MPM线程数:调整服务器并发线程或进程数,一般设置为CPU核心数的1-2倍。
- 使用云分发网络:通过CDN缓解服务器带宽压力,使内容分发更快。
安全配置
Apache安全配置主要包括:
- 访问控制:通过Require指令基于IP或主机名进行访问控制。
- 防跨站脚本:开启mod_security实现请求过滤,防范XSS、SQL注入等攻击。
- TLS加密:支持HTTPS安全网站,加密传输保护敏感数据。
- 认证:启用基本认证或LDAP认证,要求用户登录才可访问。
- 日志分析:分析访问日志,检测异常活动,防范入侵。
- 权限控制:根据文件类型设置正确的目录和文件的访问权限。
- 目录列表配置:通过启用Indexes关闭目录列表功能,禁止访问无索引目录。
- 过滤路径遍历:禁止使用../ vines访问上级目录,避免目录遍历攻击。
- 限制请求率:使用mod_evasive等模块限制单位时间内的请求数,防止DDoS。
- 信任代理IP:通过ProxyMatch仅信任指定代理的请求,避免代理匿名攻击。
- 减少信息暴露:禁用服务器版本显示、方法TRACE等信息暴露途径。
以上介绍了Apache的主要配置内容以及优化与安全的部分。希望本文可以帮助您快速上手Apache服务!