免费ssl证书ssl.la配置全过程

2017年08月08日 1,317 次阅读 0 条评论 231 人点赞

【科普】SSL证书分为哪几类文件

在TCP/IP传统的通信协议上,Netscape公司首先使用了SSL协议,这是一种采用公开密匙技术的安全协议,能够支持各种类型的网络,同时为网络提供最基本的安全服务。 通常,SSL证书包括CA证书、服务器证书以及客户端证书,他们的区别主要在: 1、CA证书,也就是根证书。如果不安全该证书,即使安装了其他证书,浏览器也会提示不安全,但是在单向https认证中,该证书的安装是可选的。 2、服务器证书。SSL证书中必须要安装的证书之一,通过该证书的key生成csr文件,然后再通过CA证书签名,生成服务器的证书。 3、客户端证书。在双向https验证中,就必须有客户端证书,生成方式同服务器证书一样,单向证书则不用生成。 而证书的后缀主要有.key、.csr、.crt、.pem等,后缀一般是windows系统判断文件类型所使用的,Linux是不使用后缀名来判断文件名称的,但是由于约定成俗,我们一般都会添加这些后缀,以下简单介绍一下这些后缀文件的作用。 1、.key文件:密钥文件,SSL证书的私钥就包含在其中; 2、.csr文件:这个文件里面包含着证书的公钥和其他一些公司信息,通过请求签名之后就可以直接生出证书; 3、.crt文件:该文件中也包含了证书的公钥、签名信息以及根据不同类型证书携带不同的认证信息,如IP等(该文件在有些机构、系统中也可能表现为.cert后缀); 4、.pem文件:该文件相对比较少见,里面包含着证书的私钥以及部分证书信息。 SSL证书生成的方法根据系统的不同,方法方式也更有不同,如有需要,可以查看SSL.LA上的帮助文档,里面汇聚了几乎所有的SSL证书的方法。 值得提醒的是,使用双向https认证的时候,会生成三个私钥和三个证书文件,生成的方法是一样的,但是过程可能会繁琐一些。SSL是相对TCP、HTTP协议更为安全的数据传输协议,且目前加密手段也在不断提高,相信安全性能也会慢慢得到提高。

废话不多说,教材开始:

免费证书申请网站:https://ssl.la 免费证书3个月续签一次呦 注册成功后,登录网站,左侧菜单:证书管理中心→申请新证书   选择免费证书... ...点点点...提交完订单,并且完成邮箱里的验证哦! 出现以下界面 点击“ Go to the SSL configure wizard”按钮,进入域名验证; 选择 “自动创建CSR” 及 HTTP文件验证 后  点击 开始验证域名权限,如图: 值得注意的地方,我划红线提示,这里下载的授权文件需要放在站点根目录下“ .well-known/acme-challenge”下进行进行验证,所以就需要创建这2个文件夹了。由于win系统无法创建前面带.的文件夹,所以进入cmd终端在窗口,进入网站根目录输入口令"md .well-known",就会看到这个文件夹了,在该文件夹里面创建acme-challenge文件夹,然后把下载的授权文件放进该文件夹下即可。 # md   mkdir 可以创建文件夹喔 验证成功如图所示: 下载根证书、中见证书、完整证书,由于下载私匙失败,所以请加ssl.la官方QQ群找群主索要该文件哦。 证书准备完成,下面就是配置了,这里我用win2003服务器,phpstudy工具来配置ssl

SSL证书phpstudy集成环境下Apache配置步骤

首先,确保你的Apache编译了SSL模块,这是支持SSL证书必要的条件(如果没有,请编译,【打开phpstudy】》【其他选项菜单】》【PHP扩展】》【php-openssl】前面勾选上)。 在Apache的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。 打开 Apache 安装目录下 conf 目录中的 httpd.conf 文件,找到以下内容并去掉前面的“#”注释符,使得SSL模块生效(如果该模块已去掉注释,请不用操作)。 接着搜索以下内容:【Include conf/vhosts.conf】,在其下面增加一条引用内容:【Include conf/vhostssl.conf】,如下图所示 Apache 安装目录下 conf 文件夹中创建一个vhostssl.conf配置文件。可以复制httpd.conf文件另存为vhostssl.conf,按照80的配置,另起一个VirtualHost443,vhostssl.conf文件中的所有内容如下所示:
Listen 443

    DocumentRoot "E:\wwwroot\blog"  #(站点所在的服务器相对路径)
    ServerName www.example.com
    ServerAlias example.com
    SSLEngine on
    SSLProtocol TLSv1 TLSv1.1 TLSv1.2  #(添加SSL协议 支持协议,去掉不安全的协议)
    SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5  #(复制阿里云给的加密套件)
    SSLCertificateFile "E:\phpStudy\Apache\cert\cert.csr"   #(服务器上公钥证书路径)
    SSLCertificateKeyFile "E:\phpStudy\Apache\cert\private.key"  #(服务器上私钥证书路径)
    SSLCertificateChainFile "E:\phpStudy\Apache\cert\chain.csr"  #(服务器上证书链路径)
  
      Options +Indexes +FollowSymLinks +ExecCGI
      AllowOverride All
      Order allow,deny
      Allow from all
      Require all granted
  
注意:其中的域名信息替换成所申请SSL证书绑定的域名,SSLCipherSuite、SSLCertificateFile、SSLCertificateKeyFile、SSLCertificateChainFile,结合所申请的SSL证书给的配置信息与自己所创建的cert证书目录来配置;vhostssl.conf文件名没有限制要求,可以根据自己的想要的重新命名,不过一定要跟httpd.conf 文件中引用的文件名称一样! 重启apache(有可能报错,看一下443端口是否被防火墙拦截或被占用,输入命令:netstat -ano,列出所有端口的情况);Apache正常重启后,在浏览器里面输入带有https的网址就能看到安全锁出来啦;最后备份好您的SSL证书!

HTTP301重定向到HTTPS

配置完SSL证书,我们需要进行站点301重定向,将http的地址强制跳转到https地址,Apache环境下,在站点根目录添加.htaccess文件,如图所示 在.htaccess文件中添加以下内容:
 
RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
最后,在浏览器地址栏里输入相应的网址,看看网址是不是跳转到HTTPS协议下面!

讲梦想、讲奋斗可以,前提是钱要给够。

文章评论(0

接收回复邮件通知
非注册会员初次评论需要审核,审核时间(09:00-18:00),请耐心等待...