環境是:debian7+apache2.2+阿里雲免費ssl服務,站點之前的http已經在運行了,apache
購買位置:打開阿里雲找到「產品」-「安全」-「CA證書服務」-點擊「當即購買」;安全
選擇方法:證書類型選擇」專業版OV SSL」->」1個域名」->」Symantec」(這裏選擇完成後上面證書類型出現了「免費型DV SSL」)->證書類型選擇」免費型DV SSL」->而後繼續購買就能夠了;服務器
域名驗證類型:一路點擊後來到後臺中的CA證書服務(也能夠本身從阿里後臺找),在」進度」欄目中有」補全」,點擊」補全」,一直輸入一直往下點擊,直到有個」域名驗證類型」,這裏選擇DNS。dom
所有填寫完成後等待一會就開通了。ide
DNS解析配置:緊接上步,開通成功會有要求添加txt的解析記錄,解析記錄的值也會給你,而後去添加網站
找到/etc/apache2/mods-enable文件夾,裏邊有不少模塊,打開文件ssl.load:ui
#LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so
去掉#阿里雲
LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so
執行命令,必需要執行spa
a2enmod ssl
apache中開啓端口監聽:打開/etc/apache2/ports.conf,在Listen 443上面添加NameVirtualHost *:443rest
NameVirtualHost *:80 Listen 80 <IfModule mod_ssl.c> # If you add NameVirtualHost *:443 here, you will also have to change # the VirtualHost statement in /etc/apache2/sites-available/default-ssl # to <VirtualHost *:443> # Server Name Indication for SSL named virtual hosts is currently not # supported by MSIE on Windows XP. NameVirtualHost *:443 Listen 443 </IfModule> <IfModule mod_gnutls.c> Listen 443 </IfModule>
服務器防火牆入口端口添加443
去阿里雲後臺」CA證書服務」中找,找到後解壓上傳到/etc/apacahe2/ssl/domainname/中(domainname能夠是網站名稱),目錄中有:123456789012345.key,123456789012345.pem,chain.pem,public.pem
打開/etc/apache2/sites-enable文件夾,找到須要配置的網站配置文件,這裏我就以domainname.conf爲例,很簡單就是把原來的VirtualHost複製一下,修改一下端口號,而後添加SSLEngine部分的信息,代碼以下:
<VirtualHost *:80> ServerName domainname.com ServerAlias domainname.com DocumentRoot /www/domainname <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /www/domainname/> Options FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> </VirtualHost> <VirtualHost *:443> ServerName domainname.com443 ServerAlias domainname.com SSLEngine on SSLProtocol all -SSLv2 -SSLv3 SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM SSLHonorCipherOrder on SSLCertificateFile /etc/apache2/ssl/domainname/public.pem SSLCertificateKeyFile /etc/apache2/ssl/domainname/123456789012345.key SSLCertificateChainFile /etc/apache2/ssl/domainname/chain.pem DocumentRoot /www/domainname <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /www/domainname/> Options FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> </VirtualHost>
service apache2 restart