一、购买ssl证书
通过阿里云免费购买证书,得到如下文件
213944936870562.key 213944936870562.pem chain.pem public.pem
其中213944936870562为订单号
二、在云服务器上准备ssl环境
安装完如下模块,并重启apache后,就可以用https://server 测试了,因为他创建了默认的证书
yum install mod_ssl
yum install openssl
三、配置apache服务器,并重启
( 1 ) 打开 apache 安装目录/etc/httpd/conf.d/ssl.conf,找到
#LoadModule ssl_module modules/mod_ssl.so
(如果找不到请确认是否编译过 openssl 插件)
( 2 ) 上传上述证书文件到服务器;
( 3 ) 打开 apache 安装目录下 /etc/httpd/conf.d/ssl.conf文件 ,在配置文件中查找以下配置语句:
·添加 SSL 协议支持语句,关闭不安全的协议和加密套件
SSLProtocol all -SSLv2 -SSLv3
·修改加密套件如下
SSLCipherSuite AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
·将服务器证书公钥配置到该路径下(在 conf 目录下创建 ssl 目录,将 for Apache 里面的三 个证书文件拷贝到 ssl 目录下)
SSLCertificateFile conf/ssl/public.pem (证书公钥)
·将服务器证书私钥配置到该路径下
SSLCertificateKeyFile conf/ssl/订单号.key (证书私钥)
·将服务器证书链配置到该路径下
SSLCertificateChainFile conf/ssl/chain.pem (证书链)删除行首的“#”号注释符
( 4 ) 重启 Apache,即可生效,若使用https可以访问成功,则成功。
注意:
问题:
苹果的微信浏览器中无法通过get访问任何使用https的网页(uc等中可以,Android的微信浏览器也可以);
解决方法:
只做post的防护;