文章主要介紹了阿里云服務(wù)器apache配置SSL證書成功開啟Https(記錄趟過的各種坑),需要的朋友可以參考下。
環(huán)境:
阿里云云服務(wù)器 Windows Server 2008 標(biāo)準(zhǔn)版 SP2 中文版(趁1212優(yōu)惠買的一年的水貨配置)
阿里云購買的域名(已備案、已解析)
服務(wù)器:phpstudy:php5.4.45+Apache(因?yàn)槭莗hpstudy集成的,所以沒找到apache的版本,我感覺應(yīng)該是2.4.8之前的版本)
SSL證書 (配置過程中,我申請了2個不同機(jī)構(gòu)的證書,第一個GG了,是在 https://www.trustasia.com/ 申請的1年免費(fèi)證書。成功的是用的第二個,在 https://www.myssl.cn/products/freessl.html 申請的1個月的試用證書。所以是我技術(shù)問題還是???)
步驟:
申請證書(某度很多教程的,大家自行搜索)
上傳證書
登陸阿里云控制臺=》安全(云盾)=》CA證書服務(wù)=》上傳原有證書(也可以直接買阿里云的證書,這樣就不用上傳,不過個人網(wǎng)站一般是申請免費(fèi)的證書)
開啟服務(wù)器443端口(https默認(rèn)端口)
阿里云控制臺=》云計(jì)算基礎(chǔ)服務(wù)=》云服務(wù)器ECS=》網(wǎng)絡(luò)和安全=》安全組,沒有安全組的創(chuàng)建一個安全組,有的直接選擇相應(yīng)安全組,點(diǎn)擊配置規(guī)則=》添加安全組規(guī)則(把80端口和443端口添加進(jìn)安全組,授權(quán)對象填0.0.0.0/0)
開啟apache相應(yīng)配置
#修改httpd.conf文件
LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
LoadModule rewrite_module
#去掉上面三行前的"#"
保存退出
在apache目錄下的conf目錄下新建一個cert目錄,將你的證書文件放在這里面
開啟php的openssl模塊,在phpstudy的“php擴(kuò)展及設(shè)置”里面開啟即可
修改httpd-ssl.conf文件,保存退出
在..\Apache\conf\extra目錄下,打開httpd-ssl.conf文件(注:先備份一遍,以免出錯,因?yàn)檫@個文件的錯誤我重裝phpstuy不下10回)
在文件里定位到 Listen 443 這句話這里,把 從這句話到這個文件結(jié)尾的文本 全部注釋掉或者刪除掉,替換成以下代碼:
Listen 443 //這里強(qiáng)調(diào)一下,如果Listen 443這句代碼在這個文件里重復(fù)出現(xiàn)了,即重復(fù)監(jiān)聽,apache會報(bào)錯,然后不能啟動
SSLStrictSNIVHostCheck off
SSLCipherSuite AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL
SSLProtocol all -SSLv2 -SSLv3
#這里的路徑設(shè)置你的網(wǎng)站根目錄
DocumentRoot "C:\phpStudy\PHPTutorial\WWW"
#這里xxxxx.com替換成你的域名
ServerName www.xxxxx.com
#這里xxxxx.com替換成你的域名
ServerAlias xxxxx.com
#這里的路徑設(shè)置你的網(wǎng)站根目錄
Options FollowSymLinks ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
SSLEngine on
#你的公鑰文件
SSLCertificateFile "C:/phpStudy/PHPTutorial/Apache/conf/cert/server.crt"
#你的私鑰文件(有的機(jī)構(gòu)命名為private或者以你的域名為文件名命名)
SSLCertificateKeyFile "C:/phpStudy/PHPTutorial/Apache/conf/cert/server.key"
#證書鏈文件(有的機(jī)構(gòu)命名為CA) 我嘗試過注釋掉這個選項(xiàng),結(jié)果apache不能運(yùn)行
SSLCertificateChainFile "C:/phpStudy/PHPTutorial/Apache/conf/cert/chain.crt"
重啟apache,看看能不能正常啟動,如果有異常,嘗試把第4步中httpd-ssl.conf代碼恢復(fù)注釋(把#重新加上去,保存退出),再次重啟apache,如果此時(shí)能夠正常啟動,則說明httpd-ssl.conf文件中有錯誤(是不是重復(fù)監(jiān)聽了?證書路徑對不對?證書是否有效?),請認(rèn)真檢查,直到能夠正常啟動apache
打開hosts文件
我的hosts文件在C:\Windows\System32\drivers\etc目錄下
用記事本打開,在127.0.0.1 localhost下面添加一句話:
127.0.0.1 www..xxxxx.com //這里替換成你的域名
保存退出
修改.htAccess文件,使域名重定向到https(這樣訪問域名的時(shí)候就不用手動寫https://,它會自動添加的)
在你的網(wǎng)站的根目錄(我的是WWW目錄)下添加或者修改.htaccess文件,代碼如下:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L]
Options +FollowSymLinks
order allow,deny
allow from all
RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L]
保存退出
檢查服務(wù)器是否已經(jīng)關(guān)閉了windows自帶的IIS服務(wù)器(因?yàn)榭赡軙加胊pache的80端口),檢查是否關(guān)閉了系統(tǒng)防火墻,檢查是否有其他程序占用了80或者443端口。確認(rèn)都已經(jīng)關(guān)閉后進(jìn)行下一步 (這里給大家貼一個端口掃描工具用于檢查:http://tool.chinaz.com/port/)
重啟apache
啟動瀏覽器檢查是否可以訪問localhost 及你的域名,并且域名頭部標(biāo)志為https。如果不能正常訪問,請根據(jù)以上步驟重新檢查。
SSL配置成功,能夠使用https訪問你的域名了!
- 在Win2008 r2服務(wù)器英文版IIS7.5上Https、SSL的配置方
- Windows服務(wù)器SSL證書創(chuàng)建、安裝及配置方法教程
- Windows服務(wù)器操作系統(tǒng)安全配置檢查和加固方法
- Windows服務(wù)器啟用/禁用SMBv1、SMBv2和SMBv3的方法教
- windows server 2008 r2 DNS服務(wù)器配置教程圖文詳解
- Windows Server 2019服務(wù)器系統(tǒng)安裝教程圖文詳解
- 如何使用linux的服務(wù)器需要進(jìn)行的配置
- DNS服務(wù)器保護(hù)方法:幾點(diǎn)保護(hù)DNS服務(wù)器的有效方法小結(jié)
- windows2003服務(wù)器搭建DNS服務(wù)器配置圖解教程
- RHE5服務(wù)器中搭建DNS服務(wù)器的方法步驟說明[圖文]