HTTPS配置指导书

版本:v1.0

作者:白树潮

SSL的证书类型?

  • DV (Domain Validation): 面向个体用户,安全体系相对较弱,验证方式就是向 whois 信息中的邮箱发送邮件,按照邮件内容进行验证即可通过.

  • OV (Organization Validation): 面向企业用户,证书在DV证书验证的基础上,还需要公司的授权,CA通过拨打信息库中公司的电话来确认.

  • EV (Extended Validation): 在浏览器URL地址栏当中,展示了注册公司的信息,这会让用户产生更大的信任,这类证书的申请除了以上两个确认外,还需要公司提供金融机构的开户许可证,要求十分严格.

官方说明:不论是 DV、OV 还是 EV 证书,其加密效果都是一样的

重要的区别:1. DV证书的审核速度较快, 由程序完成审核, 一般申请了之后马上就能够完成证书颁发; OV和EV证书审核较慢, 由人工审核, 一般需要数天的时间. 2. EV证书会在浏览器当中显示公司的信息, 通常被称为绿色地址栏, 以增加用户的信任感. 参考如下访问github时, chrome浏览器的显示方式:

3. EV证书**不支持单个泛域名(*.example.com)或者多个泛域名(*.example1.com, .example2.com)*, OV和DV证书则支持.

配置:在阿里云控制台打开证书服务

安装证书:nginx

明:

1. 证书文件214221071940658.pem,包含两段内容,不要除任何一段内容。

2. 如果是证书统创建的CSR包含:证书文件214221071940658.key

( 1 ) Nginx的安装目cert,并且将下的全部文件拷cert中。如果申请证书时是自己建的CSR文件,对应的私文件放到cert下并且命名214221071940658.key

( 2 ) 打开 Nginx 安装目 conf 中的 nginx.conf 文件,找到:

# HTTPS server

# #server {

# listen 443;

# server_name localhost;

# ssl on;

# ssl_certificate cert.pem;

# ssl_certificate_key cert.key;

# ssl_session_timeout 5m;

# ssl_protocols SSLv2 SSLv3 TLSv1;

# ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;

# ssl_prefer_server_ciphers on;

# location / {

#

#

#}

#}

( 3 ) 将其修改 (以下属性中ssl的属性与证书配置有直接关系,其它属性请结合自己的实际情况复制或) :

server {

   listen 443;

   server_name localhost;

   ssl on;

   root html;

   index index.html index.htm;

   ssl_certificate   cert/214221071940658.pem;

   ssl_certificate_key  cert/214221071940658.key;

   ssl_session_timeout 5m;

   ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;

   ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

   ssl_prefer_server_ciphers on;

   location / {

       root html;

       index index.html index.htm;

   }

}

( 4 )重启 Nginx

( 5 ) https 方式访问您的站点,测试站点证书的安装配置。如

安装证书:apache

明:

1. 证书文件214221071940658.pem,包含两段内容,不要除任何一段内容。

2. 如果是证书统创建的CSR包含:证书文件214221071940658.key证书文件public.pem证书链文件chain.pem

( 1 ) Apache的安装目cert,并且将下的全部文件拷cert中。如果申请证书时是自己建的CSR文件,对应的私文件放到cert下并且命名214221071940658.key

( 2 ) 打开 apache 安装目 conf 中的 httpd.conf 文件,找到以下内容并去掉“#”

#LoadModule ssl_module modules/mod_ssl.so (如果找不到是否编译过 openssl 插件)

#Include conf/extra/httpd-ssl.conf

( 3 ) 打开 apache 安装目 conf/extra/httpd-ssl.conf 文件 (也可能是conf.d/ssl.conf,与操作系及安装方式有关) 在配置文件中找以下配置:

# 添加 SSL 协议支持协议,去掉不安全的协议

SSLProtocol all -SSLv2 -SSLv3

# 修改加密套件如下

SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM

SSLHonorCipherOrder on

# 证书公钥配置

SSLCertificateFile cert/public.pem

# 证书私钥配置

SSLCertificateKeyFile cert/214221071940658.key

# 证书链配置,如果该属性开头有 '#'字符,请删除掉

SSLCertificateChainFile cert/chain.pem

( 4 ) 重启 Apache

( 5 ) https 方式访问您的站点,测试站点证书的安装配置

安装证书:tomcat

Tomcat支持JKS格式证书,从Tomcat7开始也支持PFX格式证书,两种证书格式任其一。

明:

1. 证书文件214221071940658.pem,包含两段内容,不要除任何一段内容。

2. 如果是证书统创建的CSR包含:证书文件214221071940658.keyPFX格式证书文件214221071940658.pfxPFX格式证书文件pfx-password.txt

1证书格式转换

Tomcat的安装目cert,并且将下的全部文件拷cert中。如果申请证书时是自己建的CSR文件,附件中只包含214221071940658.pem文件,需要将私文件拷cert,命名214221071940658.key;如果是系统创建的CSR直接到第2步。

cert行如下命令完成PFX格式转换命令,此PFX证书密码,请牢记:

openssl pkcs12 -export -out 214221071940658.pfx -inkey 214221071940658.key -in 214221071940658.pem

2PFX证书安装

找到安装Tomcat文件server.xml,一般默路径都是在 conf 文件中。找到 <Connection port="8443" 标签,增加如下属性:

keystoreFile="cert/214221071940658.pfx"

keystoreType="PKCS12"

#证书参考附件中的密文件或在第1步中置的密

keystorePass="证书密码"

完整的配置如下,其中port属性根据实际情况修改:

<Connector port="8443"

   protocol="HTTP/1.1"

   SSLEnabled="true"

   scheme="https"

   secure="true"

   keystoreFile="cert/214221071940658.pfx"

   keystoreType="PKCS12"

   keystorePass="证书密码"

   clientAuth="false"

   SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"

   ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>

3JKS证书安装(帮助)

( 1 ) 使用java jdkPFX格式证书转换为JKS格式证书(windows环境注意在%JAVA_HOME%/jdk/bin)

keytool -importkeystore -srckeystore 214221071940658.pfx -destkeystore your-name.jks -srcstoretype PKCS12 -deststoretype JKS

JKS证书密码和PFX证书密码,强烈推荐将JKSPFX证书密码相同,否则可能会导致Tomcat

( 2 ) 找到安装 Tomcat 文件Server.xml,一般默路径都是在 conf 文件中。找到 <Connection port="8443" 标签,增加如下属性:

keystoreFile="cert/your-name.jks"

keystorePass="证书密码"

完整的配置如下,其中port属性根据实际情况修改:

<Connector port="8443"

   protocol="HTTP/1.1"

   SSLEnabled="true"

   scheme="https"

   secure="true"

   keystoreFile="cert/your-name.jks"

   keystorePass="证书密码"

   clientAuth="false"

   SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"

   ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>

( 注意:不要直接拷所有配置,只需添加 keystoreFile,keystorePass等参数即可,其它参数根据自己的实际情况修改 )

4 重启 Tomcat

5 https 方式访问您的站点,测试站点证书的安装配置

安装证书:IIS6

IIS 6 支持PFX格式证书,下包中包含PFX格式证书和密文件。以沃通证书为例:

明:

1. 证书文件214221071940658.pem,包含两段内容,不要除任何一段内容。

2. 如果是证书统创建的CSR包含:证书文件214221071940658.keyPFX格式证书文件214221071940658.pfxPFX格式证书文件pfx-password.txt

( 1 ) 证书导入

开始 -〉运行 -MMC

控制台程序,选择文件"中的"添加/删除管理单元”-> “添加,从可用的独立管理列表中选择证书”-> 选择计算机帐户

在控制台的左侧显证书树形列表,选择个人”->“证书,右键单击选择所有任"-"导入”, 根据"证书导入向导的提示,PFX文件 (此程当中有一步非常重要:根据证书内容自动选择)。

安装程当中需要入密码为您当时设置的密入成功后,可以看到如所示的证书信息。

( 2 ) 分配服证书,如所示流程。

安装证书:IIS7/8

IIS 7/8 支持PFX格式证书,下包中包含PFX格式证书和密文件。以沃通证书为例:

明:

1. 证书文件214221071940658.pem,包含两段内容,不要除任何一段内容。

2. 如果是证书系统创建的CSR包含:证书文件214221071940658.keyPFX格式证书文件214221071940658.pfxPFX格式证书文件pfx-password.txt

( 1 ) 证书导入

开始 -〉运行 -MMC

控制台程序,选择文件"中的"添加/删除管理单元”-> “添加,从可用的独立管理列表中选择证书”-> 选择计算机帐户

在控制台的左侧显证书树形列表,选择个人”->“证书,右键单击选择所有任"-"导入”, 根据"证书导入向导的提示,PFX文件 (此程当中有一步非常重要:根据证书内容自动选择)。安装程当中需要入密码为您当时设置的密入成功后,可以看到如所示的证书信息。

( 2 ) 分配服证书

打开 IIS8.0 管理器面板,找到待部署证书的站点,绑定,如

设置参数

选择绑定”->“添加”->“类型选择 https” ->“端口 443” ->“ssl 证书【导入的证书名称】” ->“确定”,SSL 缺省端口 443 端口(请不要随便修改。 如果您使用其他端口如:8443, 则访问时必须输入:https://www.domain.com:8443)。如

http强制跳转https方法

当服器配置好以后,当访问www.98root.cn认协议为http,则访问不到https,需要做一个跳

添加一个虚主机配置专门做跳

[root@xcn ~]# vim /application/nginx/conf/conf.d/403.conf

server {

listen       80;

server_name  www.98root.cn;

rewrite ^(.*)$ https://$host$1 permanent;

location / {

root   html;

index  index.html index.htm;

}}

重启nginx即可

测试

刷新