当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > Apache SSL证书安装指南

Linux服务器
Linux Samba Server的配置详解
Linux系统下配置功能完善的Web服务器
Linux终端代理的设置方法介绍
Fodera Core 7系统下构建CVS服务器的方法
Linux进入系统时自动设置环境变量的方法
介绍GPG命令加密文件的方法
如何清理Linux系统中不需要的文件
Linux系统中两种替代“花生壳”的办法
Linux下配置 Tomcat+JDK+MySQL应用平台
Linux操作系统下RPM软件包的使用技巧
linux知识:htaccess
linux:.htaccess文件使用教程
Apache [forbidden 403]错误的解决办法
FreeBSD6.1快速安装配置Bugzilla2.22
访问网站403错误 Forbidden解决方法
httpd.conf文件配置详解
Apache中禁止IP段,在httpd.conf中的写法
apache禁止使用IP访问的实现方法
Apache中禁止以目录方式访问的设置
.htaccess学习笔记

Linux服务器 中的 Apache SSL证书安装指南


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-30   浏览: 102 ::
收藏到网摘: n/a

如果你是要安装了一个 EV SSL证书,查看这里 Apache EV SSL Certificate Installation Instructions (即Apache EV SSL证书安装指南)。如果是你安装的是其它证书,请参照下面的步骤操作:

1.拷贝证书文件到你的服务器

从你的客户专区下载ICA(即 Intermediate Certificate Authority)证书文件(DigiCertCA.crt)和你的服务器证书文件( <你的域名>.crt),然后把它们拷贝到你的服务器上要存放证书和私钥文件的路径,并确保root用户可读。

2.查找Apache的配置文件并编辑

这个文件的位置因服务器而异,特别是你用了一个指定的路径special interface来管理你的服务器配置。

Apache配置文件通常在/etc/httpd。主配置文件常常以httpd.conf命名。在大多数情况下<VirtualHost>块在httpd.conf文件的底部。有时<VirtualHost>块则会存在于他们单独的文件,并放置在类似/etc/httpd/vhost.d/或者/etc/httpd/sites/的目录下,或者在名为ssl.conf的文件中。

如果你拿文本编译器打开这个文件,你可以找到包含了Apache的设置的<VirtuaHost>块。

3.配置<VirtualHost>块识别SSL

如果你需要自己的站点通过加密的(https)和非加密(http)连接都能够访问的话,你需要每种连接类型配置一个虚拟主机virtual host。一定要拷贝一份已存在的非加密的虚拟主机,而后按照步骤4的描述把它配置成支持SSL。

如果你仅仅需要网站通过安全机制访问,按照步骤4的描述配置已经存在的虚拟主机支持SSL。

4.配置<VirtualHost>块为站点启用SSL安全机制

下面是一个简单的配置成支持SSL的虚拟主机例子。其中列出的粗体部分是必须添加的SSL配置。

<VirtualHost 192.168.0.1:443>
DocumentRoot /var/www/html2
ServerName www.yourdomain.com

SSLEngine on
SSLCertificateFile /path/to/your_domain_name.crt
SSLCertificateKeyFile /path/to/your_private.key
SSLCertificateChainFile /path/to/DigiCertCA.crt

</VirtualHost>

按照你的证书文件来调整文件名和路径。

  • SSLCertificateFile <这里应该是你的服务器证书文件> (例如:your_domain_name.crt)
  • SSLCertificateKeyFile <这里应该是你在创建CSR时候生成的的密钥文件>
  • SSLCertificateChainFile <这里应该是 DigiCert 的ICA证书文件> (默认为DigiCertCA.crt)

5.在重新启动Apache前先测试你的配置

通常,最好在重新启动Apache之前测试你的Apache配置文件以防有错,这是因为一旦你的配置文件存在语法错误,Apache就再启动不起来了。运行下面的命令:(在一些系统上可能是apache2ctl)

apachectl configtest

6.重新启动Apache

你可以用apachectl命令来停止和启动带SSL支持的Apache:

apachectl stop

apachectl start

提示:如果Apache不能启动带SSL支持,请尝试用“apachectl startssl”替代“apachectl start”。如果只有在使用“apache startssl”时SSL支持才会加载,那我们建议你修改apache的启动配置把SSL支持包含到正常的“apachectl start”命令中。要不然的话当服务器重启时可能需要你通过“apachectl startssl”来手动重新启动Apache。这经常会导致<IfDefine SSL>和</IfDefine>标记被移而关闭SSL相关的配置。

译者注:在最新版本的Apache中apachctl脚本的startssl这个参数已经废除。

排除故障:

1.如果你的网站可以被公众访问,我们的 SSL Certificate Tester(即SSL证书测试)工具能帮助你判断通常可能会出现的问题。

2.求助迁移你的证书到另外的服务器或者是跨服务器的平台上,请查看这里 OpenSSL export instructions (即OpenSSL导出指南)

3.如果你为了符合PCI Compliance requirements (即PCI 兼容列表)需要禁用 SSL version 2 的兼容性时,你需要在你的Apache配置文件中添加下面的指令:

SSLCipherSuite HIGH:+MEDIUM:!SSLv2:!EXP:!ADH:!aNULL:!eNULL:!NULL

如果这条指令已经存在,你很可能需要修改这条指令来禁用SSL version 2。