HTTPS構建

構建過程

  1. 這裏使用 LAMP 構建服務器,因此第一步就是搭建好環境,默認以及成功php

  2. 修改配置文件,是服務器即 apache 支持 https 訪問html

apache 的配置

簡單講就是兩步:apache

  • 開啓 SSL 功能,在配置文件中去掉 ; 開啓服務器

  • 在 vhost 中添加服務器端證書的路徑,實例以下:ide

<VirtualHost *:8087>
            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"
    
            <Directory "*****">
               Options FollowSymLinks
               AllowOverride None
               Order allow,deny
               Allow from all 
            </Directory>
    
            <FilesMatch ".(cgi|shtml|phtml|php)$">
                SSLOptions +StdEnvVars
            </FilesMatch>
        </VirtualHost>

爲服務器產生證書以及私鑰

進入命令行生成服務器的私鑰,在當前目錄下生成了一個server.key生成簽署申請 * 生成簽署申請,此時生成簽署文件server.csr.網站

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

爲客戶端產生證書以及私鑰

  • 生成CA私鑰,生成ca.key文件 命令行

  • 利用CA的私鑰產生CA的自簽署證書,此時須要輸入一些信息,注意Common Name爲服務器域名,若是在本機,爲本機IPcode

  • CA爲網站服務器簽署證書server

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

  • 解決方案以下:htm

// 因而在在當前目錄建立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

相關文章
相關標籤/搜索