若是不知道爲何,請繞路。apache
隨着阿里雲、騰訊雲等相繼退出 ssl證書服務,ssl 證書已經比較親民。推薦你們使用收費的 ssl 證書,相對於你的業務量來講,ssl 證書真的不貴。若是你是我的站長,例如本人,不想花費,那麼仍是有免費的午飯
https://www.sslforfree.com/ui
sslforfree 不支持泛域名,可是一個證書能夠包含100個域名,對於大多數狀況下都是夠用的,比較蛋疼的是一次輸入多個域名,須要驗證的過程會很是麻煩,由於每一個域名都須要上傳一個驗證文件或者增長一條 TXT 記錄來驗證域名的有效性。因此建議你們一開始不用太貪心,輸入實在要使用的域名便可,若是新增了域名,後面仍是能夠經過申請新的證書來解決。阿里雲
多個域名經過空格符間隔開。
點擊「Create」就是進入驗證界面,驗證完畢以後就能夠下載證書了。spa
打開壓縮包裏面有3個文件code
三個文件分別對應 Apache 配置裏面的:blog
上面的對應關係你們不要對應錯了。圖片
yum install mod_ssl openssl
編輯 /etc/httpd/conf/httpd/confip
LoadModule ssl_module modules/mod_ssl.so Listen 443 NameVirtualHost *:443 <VirtualHost *:443> ServerName www.example.com DocumentRoot /www SSLEngine on SSLHonorCipherOrder on # 禁止SSLv2 SSLv3協議 SSLProtocol all -SSLv2 -SSLv3 #禁止RC4,禁止SF SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS SSLCertificateFile /sslforfree/certificate.crt SSLCertificateKeyFile /sslforfree/private.key SSLCertificateChainFile /sslforfree/ca_bundle.crt </VirtualHost>
注意:ssl
在一個 IP 供應多個域名和證書這個問題,折騰了好久,主要的域名是 apache 版本必定要高於 2.2.12,才支持 SNI。支持 SNI 才能實現一個 IP 供給多個證書。另外就是忘記了 NameVirtualHost 443,總是隻有一個證書生效,另一個證書失效。sslforfree雖然是免費的,可是由於沒3個月就須要 renew 一次,若是嫌麻煩,仍是推薦使用付費證書服務。get
安裝 ssl 證書以後,默認狀況下用戶是可使用 http 和 https 兩種方式來訪問服務,若是但願自動跳轉,推薦使用下面的方式
<VirtualHost *:80> ServerName www.example.com # 全站跳轉 Redirect permanent / https://www.example.com # 指定跳轉 Redirect permanent /user/login https://www.example.com/user/login </VirtualHost>