Apache SSL证书安装配置方法教程

发布时间:2021-09-11

  

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这条规则。这样便实现了:访问了 或者 等页面的时候会自动跳转到 或者 ,但是访问 的时候就不会做任何跳转,也就是说 和 两个地址都可以访问。

    注册即送1000元现金券