Apache环境下搭建HTTPS

本服务器使用的环境是apache,系统是Ubuntu 使用的阿里云的服务器,所以在阿里云中下载证书。 当然你还可以去CA认证服务机构官网或七牛云存储中下载证书

一:在阿里云官网下载CA证书

1.在阿里云官网里的云盾中CA服务证书选项里进行下载证书

Apache环境下搭建HTTPS_第1张图片
刘滔 下载CA证书

2.选择并购买证书,本人选的是DV SSL,1年内保护一个域名

Apache环境下搭建HTTPS_第2张图片
1.jpg

3.如图,选择“立即购买”

Apache环境下搭建HTTPS_第3张图片
2.png

3.支付成功后,去云盾控制台-->选择证书服务-->补全证书信息-->绑定一个域名(如www.mydomian.com)-->填写个人信息-->系统生成CSR,点击创建按钮-->提交审核

1)选择补全

Apache环境下搭建HTTPS_第4张图片
3.jpg
  1. 填写你的域名
Apache环境下搭建HTTPS_第5张图片
4.png

3)系统生成CSR,点击创建按钮,提交审核

Apache环境下搭建HTTPS_第6张图片
5.png

4.提交审核后,可以在我的证书出看到证书的详情。这时候点击“进度”就得到一条主机记录和主机记录值。需在该域名下解析一条记录。

Apache环境下搭建HTTPS_第7张图片
1.png
Apache环境下搭建HTTPS_第8张图片
2.png

5.到指定域名(如www.domain.com)下解析DNS,记录类型选择“CNAME“,根据上一步得到的两个值分别填写后进行解析。

3.png

6.下载证书到本地后,上传到自己的服务器上。因为我的服务器是Apache,所以我对应下载的是针对apache服务器的证书。当然你也可以选择nginx、tomcat或其他的证书。在证书下载页,有关于安装证书及如何配置ssl的说明

Apache环境下搭建HTTPS_第9张图片
4.png

二 配置服务器

添加 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 

原文出处

你可能感兴趣的:(Apache环境下搭建HTTPS)