一、獲取證書
1.從騰訊雲獲取
(1)登錄騰訊雲后,在“產品”中搜索【ssl】然后會得到 "SSL證書“,進入后點“立即選購”
這樣就完成了證書的申請,等待一個工作日的審核。
審核通過后,進入控制台就可以看到自己的ssl證書了
下載下來,得到里面Apache的證書文件。
2.從阿里雲上獲取
登錄阿里雲后 在產品中搜索ssl即可。
然后到證書管理控制台去 申請證書,(由於我域名是在騰訊運購買的,這里配置始終說我的域名解析不是有效的***,所以我是用的騰訊下載的證書)
通常都是三個 文件。
二、配置證書
以下Apache ssl配置以騰訊雲得到的那三個文件為例。
參考地址:https://help.aliyun.com/document_detail/98727.html?spm=5176.10695662.1996646101.searchclickresult.5358481aAOuRQv
第一步:
在Apache安裝目錄中新建cert目錄,並將下載的Apache證書、證書鏈和秘鑰文件拷貝到cert目錄中。
騰訊雲證書目錄:
1_root_bundle.crt是 SSLCertificateChainFile
2_www.xxx.com.crt 是 公鑰
3_www.xxx.com.crt 是 私鑰
阿里雲證書目錄:
第二步:
打開Apache/conf/httpd.conf,在httpd.conf文件中找到以下參數並進行配置。
#LoadModule ssl_module modules/mod_ssl.so #刪除行首的配置語句注釋符號“#”加載mod_ssl.so模塊啟用SSL服務,Apache默認是不啟用該模塊的。如果找不到該配置,請重新編譯mod_ssl模塊。
#Include conf/extra/httpd-ssl.conf 刪除行首的配置語句注釋符號“#”。
保存httpd.conf文件后退出
第三步:
打開Apache/conf/extra/httpd-ssl.conf,在httpd-ssl.conf文件中找到以下參數並進行配置
# 添加SSL協議支持協議,去掉不安全的協議。
SSLProtocol all -SSLv2 -SSLv3
# 使用此加密套件。 SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
# 將domain name_public.crt
替換成您證書文件名。
SSLHonorCipherOrder on SSLCertificateFile "cert/2_www.demo.com.crt"
# 將domain name.key
替換成您證書的秘鑰文件名。
SSLCertificateKeyFile "cert/3_www.demo.com.key"
# 證書鏈開頭如果有#字符,請刪除。
SSLCertificateChainFile "cert/1_root_bundle.crt"
保存配置 重啟Apache即可
三、如果想要 讓訪問是 http自動跳轉為https ,即 只能通過https訪問(不配置,則http和https都可以訪問)
找到 conf/httpd.conf文件,在改文件最底部添加以下內容
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} !^/tz.php
RewriteRule (.*) https://%{SERVER_NAME}$1 [R]