HTTPS构建

构建过程

  1. 这里使用 LAMP 构建服务器,所以第一步就是搭建好环境,默认以及成功

  2. 修改配置文件,是服务器即 apache 支持 https 访问

apache 的配置

简单讲就是两步:

  1. 开启 SSL 功能,在配置文件中去掉 ; 开启

  2. 在 vhost 中添加服务器端证书的路径,实例如下:

            DocumentRoot "  *"            ServerName   *            SSLEngine on            SSLCertificateFile "c:/bin/apache/Apache2.4.4/conf/ssl/server.crt"            SSLCertificateKeyFile "c:/bin/apache/Apache2.4.4/conf/ssl/server.key"               Options FollowSymLinks               AllowOverride None               Order allow,deny               Allow from all                 SSLOptions +StdEnvVars

为服务器产生证书以及私钥

进入命令行生成服务器的私钥,在当前目录下生成了一个server.key生成签署申请 * 生成签署申请,此时生成签署文件server.csr.

    openssl genrsa -out server.key 1024    openssl req -new -out server.csr -key server.key -config ../conf/openssl.cnf

为客户端产生证书以及私钥

  1. 生成CA私钥,生成ca.key文件 

  2. 利用CA的私钥产生CA的自签署证书,此时需要输入一些信息,注意Common Name为服务器域名,如果在本机,为本机IP

  3. CA为网站服务器签署证书

    openssl genrsa -out ca.key 1024     openssl req -new -x509 -days 365 -key ca.key -out ca.crt -config ../conf/openssl.cnf    openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config ../conf/openssl.cnf 

Error

  1. 解决方案如下:
    // 于是在在当前目录创建demoCA,里面创建以下文件,index.txt,serial:serial内容为01,其他为空以及文件夹 newcert.    [root@test1 tls]# cd ../CA/    [root@test1 CA]# ls    certs  crl  newcerts  private    // 需要有这几个目录,如果没有可以自己新建    [root@test1 CA]# touch index.txt    [root@test1 CA]# echo "00"> serial    [root@test1 CA]# ls    // 再执行一遍,即可生成server.crt文件 

复制文件并重启

然后将 server.crt,server.key复制到apache的conf文件夹下,重启apache

关键字:http

版权声明

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部