admin 管理员组

文章数量: 1184232


2024年3月22日发(作者:desirable是什么意思中文)

Linux Apache 的 HTTPS 配置

我以前在 Windows 上配置过 Apache 的 SSL/HTTPS 双向认证,即对 Web 服务

器与浏览器同时进行认证,而建立的 HTTPS 安全连接。最近,我在 Linux 下也

配置了下 Apache 的 HTTPS,并将配置过程和遇到的问题记录了一下。

配置环境

Web 服务器系统:VMware Workstation 6.0.2,Debian Linux 5.0.2,

kernel=2.6.26-2-686

Web 服务器:Apache 2.2.9-10

Web 浏览器系统:Windows XP Professional

Web 浏览器:Firefox 3.0.11

Linux Apache 的基本配置

现在 Linux 下较新的 Apache 配置,要比 Windows 下的配置方便、灵活的多。

比如,我的 Debian 5 下的 Apache2 包安装后,就将 Apache 的配置文件放在:

/etc/apache2 目录下,并按照 Linux 下经典的:xxx-available,xxx-enabled,

xxx.d 目录来组织配置文件,看到这里有没有想到 Emacs 的配置文件组织方式

呢?(*^_^*)。玩 Linux 的人看到这里,大多都能猜地出 Linux Apache 是怎么

组织的。下面简单列举一下 Apache 配置文件的组织结构:

:Apache 的入口配置文件,包含其它配置文件的主控文件

conf.d/:包含一些零碎的配置,一般不和具体的 mod 相关,是全局性质

的,比如:字符集 charset、安全选项 security。

:设置 Apache 的监听端口,默认时,HTTP 为 80,HTTPS 为

443。

envvars:导出一些环境变量,比如:

export APACHE_RUN_USER=www-data

export APACHE_RUN_GROUP=www-data

export APACHE_PID_FILE=/var/run/

:额外的用户设置的配置,默认里面内容为空。Windows 下的

Apache 喜欢用这个名字作为主控配置文件,但在 Linux 下,作用不大。

mods-available/:包含 Apache 中所有可用 mod 的加载和设置配置,加

载配置一般用 表示,设置配置一般用 表示,比如:

mod_ssl 的加载配置为:,设置配置为:

mods-enabled/:实际启动的 mod 的加载和设置配置,是到

mods-available/ 中配置文件的符号链接。

sites-available/:Web 站点的配置,可以是全局的,或虚拟主机作用域

的。默认有两个附带的配置文件:default、default-ssl,其中 default

为一般的 HTTP 服务的虚拟主机配置,而 default-ssl 就是 HTTPS 服务

的虚拟主机配置。这两个配置文件可以直接使用,配置内容只需做适当的

调整即可。

sites-enabled/:实际启动的 Web 站点配置,是到 sites-available/ 中

配置文件的符号链接。默认时,只有一个 000-default 链接指向

sites-available/default,说明默认的 Apache 配置,只启动 HTTP 服

务,而不启动 HTTPS 服务。

另外,列举一下配置 HTTPS 时,Apache 的相关文件路径:

Apache 日志文件:在:/var/log/apache2 目录中保存。错误日志为:

,HTTP 访问日志为:,HTTPS 访问日志为:

ssl_。

Apache 的启动:可以使用 Apache 在:/etc/init.d/ 中安装的 Run

Level 脚本:apache2,来启动/停止 Apache 服务。和大多数 Run Level

脚本一样,使用参数 start 启动服务,使用参数 stop 停止服务,如下:

# /etc/init.d/apache2 start

Starting web server: apache2apache2: Could not reliably determine

the server's fully qualified domain name, using 192.168.2.108 for

ServerName

# /etc/init.d/apache2 stop

Stopping web server: apache2apache2: Could not reliably determine

the server's fully qualified domain name, using 192.168.2.108 for

ServerName

... waiting .

Web 文件目录:使用 sites-available 中,配置文件 default 和

default-ssl 的 DocumentRoot 选项,默认指定的 Web 文件目录:

/var/www/。

/var/www 目录下默认只有一个 Web 文件:,我就用它作为

HTTPS 配置的测试页面,并更改了下它的内容:

Hello World! --zy

证书、密钥和测试场景

有 2 台主机系统:

一个 Linux 安装 Apache 服务器,主机名:zy-13

另一个为 Windows,使用 Firefox 作为浏览器,主机名:zy-1。使用

Firefox 作为浏览器,是因为 HTTPS 基于的 SSL 最早是由 Netscape 提

出的,并且 Netscape 一直在发展 SSL 技术(参考:Mozilla SSL/TLS),

而 Mozilla 是 Netscape 的开源社区,所以我想 Mozilla 的 Firefox

应该比其它浏览器对 SSL 支持地更完善(其实这是借口,我只是喜欢用

Firefox 而已)。

有3套证书,用openssl工具生成,作用如下:


本文标签: 配置 配置文件 默认 使用 设置