admin管理员组

文章数量:1601634

一. 购买ssl证书

我是在阿里云购买的,证书选型、价格以及申请流程可以参照官方文档:阿里云SSL证书

主要是以下几步:

  1. 证书选型和购买
  2. 证书申请
  3. 等待审核(免费的DV证书非常快,我等了10多分钟就审核完了,会有短信或者邮件提醒的)
  4. 下载证书

二. 安装证书

阿里云对应不同服务器,也有安装证书的官方文档:SSL证书安装指南

我的是 Apache服务器,主要是以下几步:

  1. 远程连接服务器(推荐 XshellXftp,方便好用)

  2. 将证书解压后(3个文件)通过 Xftp 直接拉到服务器的某个目录下,我这里在 Apache 安装目录 /etc/httpd 下新建了 cert 文件夹,将这三个文件都放到该文件夹下(所以说 Xftp 真香,当然如果喜欢输入linux命令,那在linux下操作也可)

  3. 检查是否有 ssl.conf 文件(ssl.conf 一般在 /etc/httpd/conf.d 下,其中 /etc/httpd 是 Apache 的安装目录)

    • 若有,则直接下一步;
    • 若无,先安装 mod_ssl.so,命令行输入
      yum -y install mod_ssl
      
  4. 配置SSL,编辑 ssl.conf 文件

    vim /etc/httpd/conf.d/ssl.conf
    

    修改其中的几句:


    然后 Esc -> :wq 保存退出。

  5. 编辑配置文件 httpd.conf,命令行输入

    vim /etc/httpd/conf/httpd.conf
    

    确保 httpd.conf 中有(有的被注释掉了,去掉“#”即可)

  6. 重启服务器,安装完成~

    systemctl restart httpd
    
  7. 如果浏览器访问 https://xxx.xxx 有小锁标志,则安装配置成功~

三. 强制使用https

网上强制使用https的教程天花乱坠,把我看得云里雾里,反正应该有很多种配置方法,因为个人一点强迫症,最后我用了以下这种方法,直接在 httpd.conf 中配置,不需要在网站根目录下添加 .htaccess 文件。
命令行输入

vim /etc/httpd/conf/httpd.conf

找到 <Directory>,添加以下几句

RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]


这个方法利用 Apache 重定向,稍微解释一下这几行正则,当访问的不是443端口(不是https)时,则会重定向到 https,返回 301 状态码。如果没有指定 “301”,则默认临时重定向,返回 302 状态码。

最后记得重启一下服务器 systemctl restart httpd,配置就生效啦~
尝试在浏览器输入 http://xxx.xxx,同样会跳转到 https://xxx.xxx,有小锁标志~

本文标签: 阿里服务器配置证书HTTPSSSL