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

Linux服务器
Linux上双网卡绑定方法(Suse9SP3)
Linux操作系统调优参数的意义
Linux下使用SSH客户端及其Sftp文件传送
教你恢复被误删除的Linux文件
SQL Server注入大全及防御
Linux无法解析域名的解决办法
Linux系统下安装和配置MyEclipse的方法
Ubuntu下VirtualBox 1.4.0设置文件共享
Windows与Linux系统共享StarDict字典文件
修改Linux下相关的登陆信息
Windows通过SecureCRT远程登录Linux主机
Linux操作系统如何修改SWAP交换区的大小
Linux操作系统下为Apache目录添加密码
Linux时间设置与同步(NTP)
Linux内核补丁AMD旁路转换缓冲(TLB)错误
Linux架设DHCP服务器的方法
Fedora 8下Apache配置与管理
Linux操作系统下用单网卡捆绑双IP的方法
Ubuntu Linux系统环境变量配置文件
SUSE Linux中将Tomcat作为Service运行

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-30   浏览: 108 ::
收藏到网摘: 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。