這裏使用 LAMP 構建服務器,因此第一步就是搭建好環境,默認以及成功php
修改配置文件,是服務器即 apache 支持 https 訪問html
簡單講就是兩步: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
解決方案以下: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