主頁 > 知識(shí)庫 > windows apache環(huán)境下部署SSL證書讓網(wǎng)站支持https的配置方法

windows apache環(huán)境下部署SSL證書讓網(wǎng)站支持https的配置方法

熱門標(biāo)簽:鸚鵡螺號(hào)航海地圖標(biāo)注時(shí)間 山東電信外呼系統(tǒng)靠譜嗎 云南云電銷機(jī)器人招商 比較穩(wěn)定的外呼系統(tǒng) 江蘇自動(dòng)外呼系統(tǒng)一般多少錢 長(zhǎng)沙回?fù)芡夂粝到y(tǒng) 400 電話 申請(qǐng)費(fèi)用 信貸電銷機(jī)器人系統(tǒng) ai電話機(jī)器人營銷

關(guān)于SSL證書的用處就不講啦,需要部署的朋友應(yīng)該已經(jīng)了解過了,直接進(jìn)入正題

安裝Apache, 下載安裝Apache時(shí)請(qǐng)下載帶有SSL版本的Apache安裝程序.

第一步當(dāng)然是獲取證書啦

我是在騰訊云上申請(qǐng)的,很快幾分鐘就搞定了。

域名驗(yàn)證通過后下載證書就行了

1_root_bundle.crt (證書鏈文件) 

2_www.domain.com_cert.crt(證書文件)

3_www.domain.com.key(私鑰文件)

把證書放到環(huán)境下  我是放在apache/cert下的  cert這個(gè)文件夾是我自己創(chuàng)建的

第二步修改服務(wù)器的環(huán)境配置

第一個(gè):找到【LoadModule ssl_module modules/mod_ssl.so】這一行,如果前面有#,去掉#,如果沒有,就不需要改動(dòng),保持不變即可。

第二個(gè):找到【Include conf/extra/httpd-ssl.conf】這一行,如果前面有#,去掉#,如果沒有,就不需要改動(dòng),保持不變即可。

#下面三行是配置證書文件,注意修改路徑和對(duì)應(yīng)文件名稱,別搞混了

SSLCertificateFile      "/phpStudy/PHPTutorial/Apache/cert/2_tktx.nichousha.cc.crt"

SSLCertificateKeyFile   "/phpStudy/PHPTutorial/Apache/cert/3_tktx.nichousha.cc.key"

SSLCertificateChainFile "/phpStudy/PHPTutorial/Apache/cert/1_root_bundle.crt"

cart+f  依次搜索然后替換后面的名字就可以了

還有就是修改站點(diǎn)目錄,今天就踩了這個(gè)小坑

文件里很多處站點(diǎn)路徑都不對(duì)需要修改

SSLOptions +StdEnvVars

</FilesMatch>

<Directory "C:\phpStudy\WWW"> 

比如這樣的WWW這一塊的路徑,因?yàn)槲矣玫氖切掳娴腜HPSTUDY 所以路徑是\phpStudy\PHPTutorial\WWW  搜索錯(cuò)誤的地方批量換一下就可以了

第三步  設(shè)置301跳轉(zhuǎn)

我用的是.htaccess

 RewriteBase /

 RewriteCond %{SERVER_PORT} !^443$

 RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]

里面加上了這一段就可以了

整個(gè)過程還是比較簡(jiǎn)單的,有不明白的地方可以留言告訴我,評(píng)論會(huì)通過郵件發(fā)送給我所以我會(huì)很快回復(fù)

下面是其他網(wǎng)友的補(bǔ)充

1.準(zhǔn)備工作

1)在設(shè)置Apache + SSL之前, 需要做:

安裝Apache, 下載安裝Apache時(shí)請(qǐng)下載帶有SSL版本的Apache安裝程序.

并且ssl需要的文件在如下的位置:

[Apache安裝目錄]/modules/ mod_ssl.so

[Apache安裝目錄]/bin/ openssl.exe, libeay32.dll, ssleay32.dll, openssl.cnf

[Apache安裝目錄]/conf/ openssl.cnf

創(chuàng)建SSL證書(注意,有的集成環(huán)境里面自帶了openssl,但是bin目錄下沒有openssl.cnf,需要將conf下的openssl.cnf拷貝一份到bin目錄下,但總體原理一樣)

2)在windows環(huán)境下需先設(shè)置Openssl環(huán)境變量:

執(zhí)行命令 set OPENSSL_CONF=..\conf\openssl.cnf

打開CMD,進(jìn)入到Apache安裝目錄下的bin目錄下:

步驟一:執(zhí)行命令 openssl genrsa 1024 >server.key

說明:RSA密鑰對(duì)的默認(rèn)長(zhǎng)度是1024,取值是2的整數(shù)次方,并且密鑰長(zhǎng)度約長(zhǎng),安全性相對(duì)會(huì)高點(diǎn)。

完成密鑰server.key生產(chǎn)完畢后進(jìn)行步驟二操作。

步驟二:生產(chǎn)為簽署的server.csr,繼續(xù)在bin目錄下執(zhí)行命令:

openssl req -new -config openssl.cnf -key server.key >server.csr

說明:如果不加-config .openssl.cnf參數(shù)的話,常會(huì)報(bào)Unable to load config info from .../ssl/openssl.cnf

之后就會(huì)要求輸入一系列的參數(shù):

Country Name (2 letter code) [AU]:CN ISO 國家代碼(只支持兩位字符)

State or Province Name (full name) [Some-State]:ZJ 所在省份

Locality Name (eg, city) []:HZ 所在城市

Organization Name (eg, company): yiban公司名稱

Organizational Unit Name (eg, section) []:yiban 組織名稱

Common Name (eg, YOUR name) []: localhost:80申請(qǐng)證書的域名(建議和httpd.conf中serverName必須一致)

Email Address []:admin@admin.com 管理員郵箱

Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: 1234交換密鑰

An optional company name []:CD

注:Common Name建議和httpd.conf中serverName必須一致,否則有可能導(dǎo)致apache不能啟動(dòng)

(啟動(dòng) apache 時(shí)錯(cuò)誤提示為:server RSA certificate CommonName (CN) `Kedou' does NOT match server name!?)完成簽署的server.csr配置。

步驟三:

簽署服務(wù)器證書文件 server.crt

在 bin/目錄下執(zhí)行命令:

openssl req -x509 -days 5000 -config openssl.cnf -key server.key -in server.csr >server.crt

說明:這是用步驟 1,2 的的密鑰和證書請(qǐng)求生成證書 server.crt,-days 參數(shù) 指明證書有效期,單位為天,x509 表示生成的為 X.509 證書。

步驟四:

在bin 目錄下,找到server.crt、server.csr、server.key三個(gè)文件,將此三個(gè)文件剪切到Apache的conf目錄下。

步驟五:

配置 httpd.conf. 在Apache的conf\extra目錄下的 httpd_ssl.conf 文件是關(guān)于 ssl 的配置,是httpd.conf的一部分。

在httpd.conf 中添加下列兩行(有的話把文件前面的注釋“#”符號(hào)去掉):

LoadModule ssl_module modules/mod_ssl.so

Include conf/extra/httpd-ssl.conf

步驟六:

(注意:相同部分被省略掉)

在conf\extra目錄下,編輯 httpd_ssl.conf

Listen 443

SSLPassPhraseDialog builtin

SSLSessionCache "dbm:c:/Apache24/logs/ssl_scache"

#SSLSessionCache "shmcb:c:/Apache24/logs/ssl_scache(512000)"

(以上2種請(qǐng)自行監(jiān)測(cè),如有一種導(dǎo)致服務(wù)器啟動(dòng)不了,就換成另一種)

SSLSessionCacheTimeout 300

<VirtualHost www.my.com:443>
    #DocumentRoot "D:/wamp/bin/apache/apache2.4.9/htdocs"
    DocumentRoot "C:/wamp/www/hxq"
    ServerName  www.my.com:443
    ServerAlias my.com:443
    ServerAdmin webmaster@chinancce.com
    DirectoryIndex index.html index.htm index.php default.php app.php u.php
    ErrorLog logs/example_error.log
    CustomLog logs/example_access.log \
    "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
    SSLEngine On
    SSLCertificateFile "C:/wamp/bin/apache/apache2.4.9/conf/server.crt"
    SSLCertificateKeyFile "C:/wamp/bin/apache/apache2.4.9/conf/server.key"
    #SSLCertificateChainFile "C:/upupw/Apache2/conf/1_root_bundle.crt"
<FilesMatch "\.(shtml|phtml|php)$">
    SSLOptions +StdEnvVars
</FilesMatch>
    BrowserMatch "MSIE [2-5]" \
    nokeepalive ssl-unclean-shutdown \
    downgrade-1.0 force-response-1.0
<Directory "C:/wamp/www/hxq">
    Options FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>
</VirtualHost>

以上最容易出問題的地方是http_ssl.conf中的日志等路徑問題,建議按照物理路徑進(jìn)行設(shè)置

步驟七:

調(diào)試運(yùn)行Apache,對(duì)于Apache。如果是集成環(huán)境如xampp,wampserver,或者phpstudy啟動(dòng)Apache Server,可能我們不知道我們的服務(wù)器出現(xiàn)了什么問題,建議查看 Apache/logs下的日志,在此基礎(chǔ)上,配合cmd命令行在bin目錄下運(yùn)行httpd命令,如果不報(bào)錯(cuò),說明服務(wù)器運(yùn)行沒問題,否則根據(jù)提示再做修改

2.測(cè)試運(yùn)行

重啟apahce服務(wù),訪問https://www.my.com/,完工!

===========出現(xiàn)錯(cuò)誤匯集==========

1、"Syntax error on line 80 of c:/apache/conf/extra/httpd-ssl.conf:ErrorLog takes one argument,The filename of the error log"或者"Syntax error on line 99 of c:/apache/conf/extra/httpd-ssl.conf:SSLCertificateFile takes one argument,SSL Server Certificate file ('/path/to/file' -PEM or DER encoded)"

解決方法:文件路徑加雙引號(hào)

2、"Syntax error on line 76 of C:/apache/conf/extra/httpd-ssl.conf:SSLSessionCache: 'shmcb' session cache not supported (known names: ). Maybe you need to load the appropriate socache module (mod_socache_shmcb?)."

解決辦法:

打開httpd.conf,

找到LoadModule socache_shmcb_module modules/mod_socache_shmcb.so

把前面的注釋去掉。

標(biāo)簽:衡陽 運(yùn)城 拉薩 澳門 齊齊哈爾 亳州 嘉興 烏海

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《windows apache環(huán)境下部署SSL證書讓網(wǎng)站支持https的配置方法》,本文關(guān)鍵詞  windows,apache,環(huán)境,下,部署,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《windows apache環(huán)境下部署SSL證書讓網(wǎng)站支持https的配置方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于windows apache環(huán)境下部署SSL證書讓網(wǎng)站支持https的配置方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章