ApacheSSL证书安装配置方法教程 简介
在申请数字证书之前,您必须先生成证书私钥和证书请求文件 (CSR, Certificate Signing Request), CSR是您的公钥证书原始文件,包含了您的服务器信息和您的单位信息,需要提交给CA认证中心。 请妥善保管和备份您的私钥。
以上是申请证书流程图。完成整个流程最快三天,慢则七天,因为发证商需要审核申请者提交的资料。
第一步提交CSR 第二步 资料提交到CA 第三步 发送验证邮件到管理员邮箱 CA获得资料后,将发送一封确认信到管理员邮箱*,信中将包含一个链接。每一个订单,都有一个唯一的PIN以做验证用。 第四步 邮件验证 点击确认信中的链接,可以访问到验证网站,在验证网站,可以看到该订单的申请资料,然后点击 "I Approve"完成邮件验证。
第五步 颁发证书 CA会将证书通过邮件方式发送到申请人自己的邮箱。
*什么是管理员邮箱? 认证系统为了确认您对所申请的SSL服务器域名拥有管理权,会发电子邮件到指定的管理员邮箱中。例如:您准备申请的SSL证书服务器域名为:在递交申请时,可供选择的管理员邮箱如下: < admin@host.domain.com | administrator@domain.com | administrator@host.domain.com | hostmaster@domain.com | hostmaster@host.domain.com | root@domain.com | root@host.domain.com | webmaster@domain.com | webmaster@host.domain.com | postmaster@yourdomain.com | postmaster@host.yourdomain.com | SSL证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。因为配置在服务器上,也称为SSL服务器证书。SSL 证书就是遵守SSL协议,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。
本指南将分成5个主题: 生成证书请求文件(CSR) 安装服务器证书 设置OCSP装订 优化加密方式 (weak cipher) 设置http跳转到https
第一步:证书签章要求(CSR)产生说明
安装 openssl(加密工具) # yum install mod_ssl openssl | 产生证书私钥和证书请求文件(CSR) 从Email地址开始,下面的信息都不需要,请保留为空,直接回车即可。在完成了如上的交互信息输入后,当前目录下将产生两个文件:.key (公钥) 和.csr (私钥)。请妥善保存这两个文件,请不要泄露私钥文件. 详细介绍命令: 字段 | 说明 | 示例 | Country Name | ISO国家代码(两位字符) | CN | State or Province Name | 所在省份 | Guangdong | Locality Name | 所在城市。请勿使用缩写,例如:Saint Louis, 而非 St. Louis | Shenzhen | Organization Name | 公司名称。如果您的公司或部门名称中有、@ 或其他使用 shift 键的符号,请拼出该符号或在注册时省略此字元。例如:XY Z Corporation 会是XYZ Corporation 或 XY and Z Corporation | ABC eCommerce Limited | Organizational Unit Name | 部门名称 | IT Dept. | Common Name | 申请证书的域名 | | Email Address | 不需要输入 | | A challenge password | 不需要输入 | |
如果CSR需要中文字,指令加 –utf8 参数
验证您的证书签章要求 请确保 Signature algorithm:SHA256
提交CSR 给商服 请保管好key私钥文件,提交CSR给客服等待证书签发.
第二步:安装服务器证书
证书是审核完毕后您将会收到: 服务器证书 服务器中级CA证书
2.1、配置Apache 打开apache安装目录下 /etc/httpd/conf/httpd.conf 文件,找到 #LoadModulessl_modulemodules/mod_ssl.so 删除行首的配置语句注释符号# 保存退出。 打开apache安装目录下conf目录中的ssl.conf文件,查到LoadModule ssl_module 如下: #LoadModulessl_modulemodules/mod_ssl.so 删除行首的配置语句注释符号#,另加 Include/etc/httpd/conf.d/ssl.conf LoadModule ssl module modules/mod_ssl.so Include /etc/httpd/conf/ssl.conf |
2.2、打开apache安装目录下 /etc/httpd/conf/ssl.conf文件在配置文件中的 SSLCertificateFile/etc/pki/tls/certs/server.crt 将服务器证书配置到该路径下 SSLCertificateKeyFile/etc/pki/tls/certs/domain.com.key将服务器证书私钥配置到该路径下 SSLCertificateChainFileconf/ca.crt删除行首的#号注释符,并将CA证书ca.crt
配置到该路径下,保存退出。
例子
2.3、重启Apache。重启方式: 进入Apache安装目录下的bin目录,运行如下命令 ./apachectl-kstop ./apachectl-k start
附录:如何辨识中级证书 每张证书都会显示发行者,如下:
以上例子有 Symantec Class 3 EV SSL CA – G3, GeoTrust SSL CA – G3, RapidSSL SHA256 – CA。这就是各个证书对应的中级证书。
所谓 证书安全链 就是结合秘钥,域名证书,和中级证书,串连起来的加密链,确保加密数据的安全性。
第三步:设置OCSP装订
OCSP装订(英语:OCSP Stapling),是一个TLS证书状态查询扩展,作为在线证书状态协议的代替方法对X.509证书状态进行查询。服务器在TLS握手时发送事先缓存的OCSP响应,用户只需验证该响应的有效性而不用再向数字证书认证机构(CA)发送请求。 OCSP装订需求Apache2.3.3版本或以上。 检测Apache版本 # apache2 –v
3.1设定 在设定档底下加入两行指令: SSLUseStapling on SSLStaplingCache "shmcb:/var/run/ocsp(128000)" 第二行SSLStaplingCache指定快取的装置路径和记忆体大小。注意:如果Apache是安装在微软,第二行指令设为 "shmcb:C:/xampp/apache/logs/ocsp(128000)" 以上二行指令必须在 <VirtualHost> … </VirtualHost> 挂号以外,避免Apache无法重启。
注意:若在服务器配置OCSP装订,终端服务器的OCSP请求必须默认允许连接到赛门铁克OCSP服务器。若您的服务器是安装在防火墙后端,则必须创建防火墙策略外接链接允许赛门铁克OCSP。 使用Openssl工具验证终端服务器ssl证书与赛门铁克OCSP链接,请参考以下文档:
保存设定档,重启Apache。
3.2验证OCSP装订 只有 openssl 工具版本 0.9.8k或以上才能验证OCSP装订。 # openssl s_client -connect yourdomain.com:443 -tls1 -tlsextdebug -status 范例显示结果: OCSP response: ====================================== OCSP Response Data: OCSP Response Status: successful (0x0) 若显示以上结果说明OCSP装订已经配置成功,不成功则显示: OCSP response: ====================================== OCSP response: no response sent
另一个验证是透过赛门铁克官网 OCSP装订将显示 "Enabled"或 "Not Enabled"
第四步:关闭不安全的加密方式 (cipher)
通过https方式访问您的站点,测试站点证书的安装配置。
在提高网络服务器的SSL证书部署优化方面,我们通常建议系统管理员使用更加安全的加密套件,对于这一点,我们提出对常见的服务器支持的方案。 打开apache安装目录下f文件在配置文件中加入:SSLProtocol All –SSLv2 –SSLv3 SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH SSLHonorCipherOrder on |
第四步:设置http自动跳转到https
配置好https后,需要设置url重定向规则,使网站页面的http访问都自动转到https访问。
1)先打开url重定向支持 打开Apache/conf/httpd.conf,找到 #LoadModule rewrite_module modules/mod_rewrite.so 去掉#号。
2)找到你网站目录的<Directory>段,找到 修改其中的 AllowOverride None 为 AllowOverride All
3)重启apache服务2、设置重定向规则
( 1)在你网站目录下放一个.htaccess文件。windows环境下,不能把文件直接改名为.htaccess,会提示你必须输入文件名。所以我们先新建一个新建文本文档.txt文档,记事本打开,选择另存为,保存类型选择所有文件(*.*),文件名输入.htaccess,保存。这样便生成了一个.htaccess文件。
( 2)编辑器打开 .htaccess文件,写入如下规则: RewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteCond %{REQUEST_URI} !^/tz.php RewriteRule (.*)
解释: %{SERVER_PORT} —— 访问端口 %{REQUEST_URI} —— 比如如果url是 ,则是指 /tz.php %{SERVER_NAME} —— 比如如果url是 ,则是指 localhost
以上规则的意思是,如果访问的url的端口不是443,且访问页面不是tz.php,则应用RewriteRule这条规则。这样便实现了:访问了 或者 等页面的时候会自动跳转到 或者 ,但是访问 的时候就不会做任何跳转,也就是说 和 两个地址都可以访问。 |