阿里云服务器Apache环境下搭建HTTPS环境并且设置http自动跳转到https

 

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

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

1.在阿里云官网里的云盾中CA服务证书选项里进行下载证书阿里云服务器Apache环境下搭建HTTPS环境并且设置http自动跳转到https

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

阿里云服务器Apache环境下搭建HTTPS环境并且设置http自动跳转到https

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

4.审核成功后我们可以得到一条主机记录和主机记录值。会发送到您绑定的邮箱里。

5.到指定域名(如www.limingxia.com)下解析DNS,记录类型选择“CNAME“,根据邮箱里收到的上述两个值分别填写后进行解析。阿里云服务器Apache环境下搭建HTTPS环境并且设置http自动跳转到https

6.下载证书到本地后,上传到自己的服务器上。因为我的服务器是Apache,所以我对应下载的是针对apache服务器的证书。当然你也可以选择nginx、tomcat或其他的证书。在证书下载页,有关于安装证书及如何配置ssl的说明。阿里云服务器Apache环境下搭建HTTPS环境并且设置http自动跳转到https

第二步 配置服务器

添加 SSL 协议支持语句,关闭不安全的协议和加密套件

1.启用有关SSL的模块,ssl.conf,ssl.load,socache_shmcb.load

[email protected]:~# cd /etc/apache2/mods-enabled/

[email protected]:~# ln -s /etc/apache2/mods-available/ssl.conf ./

[email protected]:~# ln -s /etc/apache2/mods-available/ssl.load ./

[email protected]:~# ln -s /etc/apache2/mods-available/socache_shmcb.load ./

 

2.检查apachectl配置文件是否正确

[email protected]:~# apachectl configtest

 

自动检查配置文件,以确保Apache不会死掉

3.重启apache

[email protected]:~# apachectl restart

 

4.上传之前下载的证书到服务器,新建一个新命令窗口用scp上传,并解压

[email protected]:~# scp /.../ssl.zip [email protected]:/etc/apache2/

1

5.修改ssl配置文件

[email protected]:~# cd /etc/apache2/mods-enabled/

[email protected]:~# sudo vim ssl.conf

 

-77行 添加 SSL 协议支持语句-

77 SSLProtocol all -SSLv2 -SSLv3

 

6.修改加密套件 default-ssl.conf

[email protected]:~# cd /etc/apache2/sites-available/

[email protected]:~# sudo vim default-ssl.conf

 

- 32行 将服务器证书公钥配置到该路径下-

32 SSLCertificateFile /etc/apache2/ssl/213974406010850.pem

 

- 33行 将服务器证书私钥配置到该路径下-

33 SSLCertificateKeyFile /etc/apache2/ssl/213974406010850.key

 

- 42行 将服务器证书链配置到该路径下,打开42行注释 -

42 SSLCertificateChainFile /etc/apache2/ssl/chain.pem

 

7.开启ssl站点

[email protected]:~# ln /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/

 

8.重启apache

apachectl restart

 

执行上述步骤,服务器HTTPS环境搭建成功。现在去浏览器地址在你的域名前面加上https试试。

第三步 apache实现http自动跳转到https

通过第三步的操作,我们就可以随意输入域名后使用https协议

1.在站点目录下新建一个取名与域名相关的重写文件

[email protected]:~# cd /etc/apache2/sites-avaliable

[email protected]:~# cp 000-default.conf mydomian.rewrite.conf

[email protected]:~# 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服务,以下是重启的两种方式

[email protected]:~# sudo service apache2 restart

 

[email protected]:~# sudo apachectl restart