本服务器使用的环境是apache,系统是Ubuntu 使用的阿里云的服务器,所以在阿里云中下载证书。 当然你还可以去CA认证服务机构官网或七牛云存储中下载证书
一:在阿里云官网下载CA证书
1.在阿里云官网里的云盾中CA服务证书选项里进行下载证书
2.选择并购买证书,本人选的是DV SSL,1年内保护一个域名
3.如图,选择“立即购买”
3.支付成功后,去云盾控制台-->选择证书服务-->补全证书信息-->绑定一个域名(如www.mydomian.com)-->填写个人信息-->系统生成CSR,点击创建按钮-->提交审核
1)选择补全
- 填写你的域名
3)系统生成CSR,点击创建按钮,提交审核
4.提交审核后,可以在我的证书出看到证书的详情。这时候点击“进度”就得到一条主机记录和主机记录值。需在该域名下解析一条记录。
5.到指定域名(如www.domain.com)下解析DNS,记录类型选择“CNAME“,根据上一步得到的两个值分别填写后进行解析。
6.下载证书到本地后,上传到自己的服务器上。因为我的服务器是Apache,所以我对应下载的是针对apache服务器的证书。当然你也可以选择nginx、tomcat或其他的证书。在证书下载页,有关于安装证书及如何配置ssl的说明
二 配置服务器
添加 SSL 协议支持语句,关闭不安全的协议和加密套件
1.启用有关SSL的模块,ssl.conf,ssl.load,socache_shmcb.load
root@laravel:~# cd /etc/apache2/mods-enabled/
root@laravel:~# ln -s /etc/apache2/mods- available/ssl.conf ./
root@laravel:~# ln -s /etc/apache2/mods-available/ssl.load ./
root@laravel:~# ln -s /etc/apache2/mods-available/socache_shmcb.load ./
2.检查apachectl配置文件是否正确
root@laravel:~# apachectl configtest
自动检查配置文件,以确保Apache不会死掉
3.重启apache
root@laravel:~# apachectl restart
4.上传之前下载的证书到服务器,新建一个新命令窗口用scp上传,并解压
root@laravel:~# scp /.../ssl.zip root@120.**.***.***:/etc/apache2/
5.修改ssl配置文件
root@laravel:~# cd /etc/apache2/mods-enabled/
root@laravel:~# sudo vim ssl.conf
-77行 添加 SSL 协议支持语句-
77 SSLProtocol all -SSLv2 -SSLv3
6.修改加密套件 default-ssl.conf
root@laravel:~# cd /etc/apache2/sites-available/
root@laravel:~# sudo vim default-ssl.conf
- 32行 将服务器证书公钥配置到该路径下-
32 SSLCertificateFile /etc/apache2/ssl/213************.pem
- 33行 将服务器证书私钥配置到该路径下-
33 SSLCertificateKeyFile /etc/apache2/ssl/213************.key
- 42行 将服务器证书链配置到该路径下,打开42行注释 -
42 SSLCertificateChainFile /etc/apache2/ssl/chain.pem
7.开启ssl站点
root@laravel:~# ln /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/
8.重启apache
apachectl restart
执行上述步骤,服务器HTTPS环境搭建成功。现在去浏览器地址在你的域名前面加上https试试。
三 apache实现http自动跳转到https
通过第三步的操作,我们就可以随意输入域名后使用https协议
1.在站点目录下新建一个取名与域名相关的重写文件
root@laravel:~# cd /etc/apache2/sites-avaliable
root@laravel:~# cp 000-default.conf mydomian.rewrite.conf
root@laravel:~# vim mydomian.rewrite.conf
2.开启apache url 重定向功能,在 mydomian.rewrite.conf
文件中写入
RewriteEngine on
3.定义你想重定向的域名,如"mydomian.com"
ServerName mydomian.com
ServerAlias www.mydomian.com
4.定义重写规则
RewriteRule (.*) https://%{SERVER_NAME}$1 [R]
5.设置好了之后,需要重启apache服务,以下是重启的两种方式
root@laravel:~# sudo service apache2 restart
or
root@laravel:~# sudo apachectl restart