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

Linux服务器
linux下用cron定时执行任务的方法
.htaccess绑定域名到子目录的方法
linux apache下虚拟主机配置方法
apache 局域网访问配置方案
linux Apache服务器系统安全设置与优化
linux中mac地址绑定方法
linux托盘不断闪烁之解决方法
Apache配置 虚拟转向实例
Apache No space left on device的解决办法
Apache rewrite的重写相关的参数说明
LINUX入门级常用命令20条整理
Ubuntu设置开机自动挂载所有格式硬盘分区
5个可能被你忽略的Linux安全设置方法
学习Apache的mod rewrite、access写法
改版时保留原链接,创建新的URL的方法
rsync中文手册之使用rsync实现网站镜像和备份linux
rsync 数据同步使用详解
linux URL的301重定向代码分析
eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 配置数据库连接池
Apache服务器二级域名的完美实现

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


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