記一次https 即SSL證書部署

服務器:windows server2012

集成環境:phpstudy2018

SSL證書:阿里雲免費

首先開啓php擴展openssl

打開修改httpd.conf配置文件,打開找到#LoadModule ssl_module modules/mod_ssl.so,去掉前面的註釋符#(保證前面沒有#號),使得ssl模塊生效。

增加一條引用語句   Include conf/vhostssl.conf //這條是最關鍵的,你需要新增一個文件 而不是在原有已存在的文件上修改,我在這個地方試了很多次。

在Apache/conf環境下新建vhostssl.conf文件;寫入如下:

Listen 443

<VirtualHost *:443>

    DocumentRoot "C:\myphp_www\PHPTutorial\WWW"

    ServerName www.test.com

    ServerAlias test.com

    SSLEngine on

    SSLProtocol TLSv1 TLSv1.1 TLSv1.2

    SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5

    SSLCertificateFile "C:\myphp_www\PHPTutorial\Apache\cert\2_www.test.com.crt"

    SSLCertificateKeyFile "C:\myphp_www\PHPTutorial\Apache\cert\3_www.test.com.key"

    SSLCertificateChainFile "C:\myphp_www\PHPTutorial\Apache\cert\1_root_bundle.crt"

<Directory "C:\myphp_www\PHPTutorial\WWW">

      Options +Indexes +FollowSymLinks +ExecCGI

      AllowOverride All

      Order allow,deny

      Allow from all

      Require all granted

  </Directory>

</VirtualHost>

其中

SSLCertificateFile 是指證書公鑰

SSLCertificateKeyFile   是指證書私鑰

SSLCertificateChainFile  

 

SSL證書下載下來後放在cert文件夾內,cert是新建的,放在apache根目錄或者apache/conf下。

然後重啓服務,可以重啓即可使用。

但是,目前我的網址如果加了www就不可行,原因我還沒有排查,有大佬如果知道可以告訴我一聲,謝謝。

 

 

----------------------------------------------2020年4月22日更新--------------------------------------------------------

通過修改apache/conf/extra文件夾下的httpd-ssl文件,將文件內容全部刪除,修改爲上面的內容。回到httpd.conf裏 取消#Include httpd-ssl.conf 的註釋,而不採用新建文件的形式,避免apache重啓失敗。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章