Apache服务配置指南

date
Jun 19, 2016
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提供了许多指令来优化性能,主要包括:
  1. 使用mpm事件驱动模型:默认的mpm优先处理每个连接的所有请求,可以切换到event模型,通过异步非阻塞方式提升并发性能。
  1. 启用压缩:使用mod_deflate模块提供gzip压缩功能,可以减少传输体积,提高响应速度。
  1. 设置 KeepAlive:KeepAlive使持久连接可以处理多个请求,避免建立关闭连接的开销。可以通过MaxKeepAliveRequests和KeepAliveTimeout进行优化。
  1. 使用缓存:通过mod_cache模块实现请求结果缓存,不重复生成动态内容,减轻后端负载。
  1. 前端代理:使用反向代理如Nginx实现负载均衡和缓存,降低Apache压力。
  1. 优化MPM线程数:调整服务器并发线程或进程数,一般设置为CPU核心数的1-2倍。
  1. 使用云分发网络:通过CDN缓解服务器带宽压力,使内容分发更快。

安全配置

Apache安全配置主要包括:
  1. 访问控制:通过Require指令基于IP或主机名进行访问控制。
  1. 防跨站脚本:开启mod_security实现请求过滤,防范XSS、SQL注入等攻击。
  1. TLS加密:支持HTTPS安全网站,加密传输保护敏感数据。
  1. 认证:启用基本认证或LDAP认证,要求用户登录才可访问。
  1. 日志分析:分析访问日志,检测异常活动,防范入侵。
  1. 权限控制:根据文件类型设置正确的目录和文件的访问权限。
  1. 目录列表配置:通过启用Indexes关闭目录列表功能,禁止访问无索引目录。
  1. 过滤路径遍历:禁止使用../ vines访问上级目录,避免目录遍历攻击。
  1. 限制请求率:使用mod_evasive等模块限制单位时间内的请求数,防止DDoS。
  1. 信任代理IP:通过ProxyMatch仅信任指定代理的请求,避免代理匿名攻击。
  1. 减少信息暴露:禁用服务器版本显示、方法TRACE等信息暴露途径。
 
以上介绍了Apache的主要配置内容以及优化与安全的部分。希望本文可以帮助您快速上手Apache服务!
 

© KangVcar 2016 - 2024