有些浏览器会对不加密的HTTP协议标记为“不安全”(例如Chrome浏览器),这很显然会给浏览者留下不好的印象。
现在Symantec有免费版的DV单域名SSL证书可以申请,特别适合个人网站使用。申请容易,但是配置困难(尤其是Apache服务器)。接下来,我根据多个文章和自身经验来总结出安装方法,希望我写的文章有帮助。
首先在可以申请证书的网站申请证书,申请成功后就下载证书。大多数域名注册商都可以申请证书,但我建议最好在阿里云申请:
在下载证书之前,如果像阿里云一样选择服务器类型进行下载,那就选择Apache;如果是选择格式进行下载,那就选择“PEM_Apache”。
在Apache安装目录里新建“cert”文件夹,然后把下载完的证书解压到这个文件夹里。一般而言解压后会有三个文件:
从上到下依次是证书文件(***.crt)、密钥文件(***.key)和证书链文件(有ca或chain等字眼的crt文件)。具体情况请以颁发证书的网站为准。
接下来打开Apache安装目录——》conf——》“httpd.conf”文件,找到以下语句
#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
#LoadModule ssl_module modules/mod_ssl.so
#Include conf/extra/httpd-ssl.conf
把前面的“#”给去掉。
注意:如果没有找到
#LoadModule ssl_module modules/mod_ssl.so
请确认是否编译OpenSSL,不过如果从http://httpd.apache.org/docs/current/platform/windows.html#down下载安装包,有90%是不可能的。
然后打开Apache安装目录——》conf——》extra——》“httpd-ssl.conf”文件,找到以下语句并进行修改:
SSLProtocol all -SSLv2 -SSLv3 #多加一个-SSLv2
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
SSLCertificateFile 证书路径
SSLCertificateKeyFile 密钥路径
SSLCertificateChainFile 证书链路径 #如果有“#”,请去掉
打开CMD,cd到Apache安装目录——》bin,发出
.\httpd -k restart
用浏览器访问“https://你的域名”:
如果出现如上图所示的样,说明你配置HTTPS成功!
如何使访问本网站的HTTP协议自动转换为HTTPS(选做):
找到以下语句
#LoadModule rewrite_module "modules/mod_rewrite.so"
把前面的“#”给去掉。
找到以下语句
ServerName www.exmaple.com:80 #如果找不到,请查找“ServerName”
把“www.exmaple.com:80”改为你的域名。
在文件尾部添加以下语句:
<IfModule rewrite_module>
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/?(.*)$ https://%{SERVER_NAME}/$1 [L,R]
</IfModule>
在浏览器直接访问你的域名(不要加任何东西):
如果能自动转换成上图所示的样,说明自动转换配置成功。
如果感兴趣,你也可以访问myssl.com来检查你配置的HTTPS的安全级别
本人写的文章可能有疏忽地方,望各位读者批评指出!