阿里云Ubuntu部署SSL证书步骤、http自动转为https、以及证书不安全解决办法

阿里云部署SSL证书步骤、http自动转为https、以及证书不安全解决办法(记录踩过的坑)

服务器部署SSL证书

当我们需要开发小程序,调用自己的后台接口的时候,我们就需要申请域名,同时服务器默认的http不被微信后台所接受,我们就必须要为自己的服务器部署SSL证书来使http转为https来方便服务器接口的调用。

SSL证书的购买

  1. SSL证书的购买可以到阿里云官网,搜索SSL证书,点击购买
    在这里插入图片描述
  2. 作为开发的初级者,可以选择免费的DV证书,免费的证书可以一年申请20个证书,对自己的域名进行部署
    如你的网站是:xxx.top,为他部署SSL证书就需要一张
    如果你还需要为你的二级域名:api.xxx.top,那么他需要另外的单独一张SSL证书,才能成功访问到https
    在这里插入图片描述
  3. 成功购买SSL证书之后,进入后台管理界面,对点击证书申请
    在这里插入图片描述
  4. 点击证书申请之后弹出框中输入自己的要配置SS;证书的域名
    如果是让xxx.top和api.xxx.top都有SSL证书,那么需要配置两张SSL证书
    在这里插入图片描述
  5. 填写之后提交了等待审核即可
  6. 审核成功之后点击下载,下载自己对应的服务器证书即可

在这里插入图片描述
在这里插入图片描述

服务中部署SSL证书(以Ubuntu系统部署apache2为例)

Apache配置SSL证书需要三个文件:
xxx_public.crt【服务器证书】
xxx_chain.crt 【中间证书】
xxx.key 【私钥文件】

Nginx配置SSL证书俩个文件:
xxx.pem 【服务器证书部分+中间证书部分】
xxx.key 【私钥文件】

  1. 安装SSL证书之前首先需要有openSSL环境,我们用命名行安装openssl,对应一下三个命令
$  sudo  apt-get  install  openssl       ##安装openssl
$  sudo  apt-get  install  libssl-dev    ##安装openssl开发库
$  sudo  apt-get  install  bless        ##编辑器使用 bless 十六进制编辑器,需预先安装
  1. 安装好openSSL之后,我们在apache2目录下创建文件夹ssl
mkdir /etc/apache2/ssl
  1. 把三个文件放进ssl文件夹中
cp -r xxx_public.crt /etc/apache2/ssl
cp -r xxx_chain.crt /etc/apache2/ssl
cp -r xxx.key /etc/apache2/ssl
  1. 运行以下命令启用SSL模块
sudo a2enmod ssl

在这里插入图片描述
出现一下提醒则开启成功,SSL模块启用后可执行ls /etc/apache2/sites-available查看目录下生成的default-ssl.conf文件。
SSL证书自动监听的443端口。他是是网络浏览端口,主要用于HTTPS服务。
SSL模块启用后会自动放行443端口。
若443端口未自动放行,可执行

vi /etc/apache2/ports.conf

并添加Listen 443手动放行。
在这里插入图片描述

  1. 运行以下命令修改SSL配置文件default-ssl.conf。
vi /etc/apache2/sites-available/default-ssl.conf
  1. 在default-ssl.conf中进行修改配置
<IfModules mod_ssl.c>
<VirtualHost *:443>  
ServerName   #修改为证书绑定的域名www.xxx.com。
SSLCertificateFile /etc/apache2/ssl/xxx_public.crt   
#将/etc/apache2/ssl/xxx_public.crt替换为证书文件路径+证书文件名。
SSLCertificateKeyFile /etc/ssl/apache2/xxxx.key  
#将/etc/apache2/ssl/xxx.key替换为证书密钥文件路径+证书密钥文件名。
SSLCertificateChainFile /etc/apache2/ssl/xxx_chain.crt  #将/etc/apache2/ssl/xxx.crt替换为证书链文件路径+证书链文件名。

对应如图四个位置:
在这里插入图片描述

  1. 建立软连接
    运行以下命令把default-ssl.conf映射至/etc/apache2/sites-enabled文件夹中建立软链接、实现二者之间的自动关联。
sudo ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/001-ssl.conf
  1. 运行以下命令重新加载Apache 2配置文件。
sudo /etc/init.d/apache2 force-reload

在这里插入图片描述

  1. 运行以下命令重启Apache 2服务。
sudo /etc/init.d/apache2 restart

在这里插入图片描述

到此配置完成,在自己的网站中输入https看是否网站头部变成小锁子的形式,出现及配置成功
在这里插入图片描述

自动跳转到https

我们的服务器自动是http头,如果需要让网站进行自动转换为https,我们可以进行如下操作
运行以下的命令

vi /etc/apache2/sites-available/000-default.conf

我们在文件底部中添加以下代码:

 RewriteEngine on
 RewriteCond   %{HTTPS} !=on
 RewriteRule   ^(.*)  https://%{SERVER_NAME}$1 [L,R]

在这里插入图片描述
到此网站就实现了自动转换为https

配置完成后访问网站显示证书不安全

我在配置完成之后,显示证书不安全
出现以下的提醒:
在这里插入图片描述

同时浏览器提示不安全,寻找各种办法,没有解决
返回配置文件查看在vi /etc/apache2/sites-available/default-ssl.conf
在这里插入图片描述
在配置文件的下方还有默认的证书配置,没有查看全
我们用 # 号把系统的默认证书配置路径注释掉即可
在前面的配置中,我们虽然配了路径,但是下面的默认路径把上面配置过的又覆盖掉执行了
以后查看需全部浏览
我们重新报错之后,重启apache服务器,证书配置成功。
在这里插入图片描述
正确的SSL证书如上格式

到此全部完成!
By:毅少少

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值