探索未知,记录点滴

Centos7 Apache环境下申请和安装SSL证书

Spread the love

很多站主建站的第一选择是lnmp配置wordpress环境,在lnmp一键安装脚本程序当中,可以通过dns验证ssl证书并且一键部署,对于一些免费但短期的ssl证书经配置还可以自动续期。但是,如果没有安装lnmp脚本而是单独安装了Apache + MySQL/MariaDB/Percona + PHP该如何申请(创建)ssl证书并且安装呢?

SSL那些事

1、SSL简介

SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。本文只谈域名型 SSL 证书(DV SSL -Domain Validation SSL)。

1)认证用户和服务器,确保数据发送到正确的客户机和服务器;
2)加密数据以防止数据中途被窃取;
3)维护数据的完整性,确保数据在传输过程中不被改变。
4)支持Apache 2.x、Nginx、IIS等多种主流服务器类型
                      fdgdg
2、SSL证书

SSL证书(SSL Certificates)提供了安全套接层(SSL)证书的一站式服务,包括证书申请、管理及部署功能,与顶级的数字证书授权(CA)机构和代理商合作,为您的网站、移动应用提供 HTTPS 解决方案。

3、https与SSL

https是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,https的安全基础是SSL。HTTPS实际上应用了Netscape的安全套接字层(SSL)作为HTTP应用层的子层。HTTPS比HTTP多出了ssl握手环节。

4、SSL证书获取途径

1)自己生成的ssl证书(不被浏览器信任)不推荐

2)去CA机构申请下载并上传证书到服务器   √ (免费或收费,大概率可获得「https安全」浏览器绿标)

申请工作

1、先要有自己的顶级域名(废话),找一家可靠的SSL证书颁发机构

Let’s Encrypt(推荐)

Let’s Encrypt是国外一个公共的免费SSL项目,由 Linux 基金会托管,它的来头不小,由Mozilla、思科、Akamai、IdenTrust和EFF等组织发起,目的就是向网站自动签发和管理免费证书,以便加速互联网由HTTP过渡到HTTPS。已经被Firefox、Chrome、IE等浏览器所支持。

传送门:FreeSSL.org(中文代理网站,一次申请有效期三个月,逾期免费申请更换)

腾讯云DV SSL 证书

拥有Symantec 赛门铁克、GeoTrust等国际知名证书品牌。可免费申请一年的SSL证书(赛门铁克亚太白金战略合作伙伴亚洲诚信(TrustAsia)自研证书品牌,由赛门铁克根证书签发。)

传送门:腾讯云DV SSL

2、申请(以Let’s Encrypt为例)

来到FreeSSL.org,邮箱注册。来到首页,根据自己的需求选择「多域名通配符 」型和「多域名」型,填入自己的顶级域名,点击创建免费的SSL证书。【证书类型】根据需要选择「ECC」 和「RSA」,【验证方式】选择「DNS」,【CSR(证书签名请求文件)生成】选择「浏览器生成」,点击创建。

《Centos7 Apache环境下申请和安装SSL证书》

《Centos7 Apache环境下申请和安装SSL证书》

《Centos7 Apache环境下申请和安装SSL证书》

之后,会出现如下画面,DNS验证需要我们去自己域名供应商网站中的域名解析设置,新建一个TXT record,记录(host)和记录值(value)按下图所示填写。两条记录填写完毕,点击确定并等待1min左右,在freessl.org页面点击「验证」,完毕。获得自己的有效期三个月的免费SSL证书,并且下载到本地。《Centos7 Apache环境下申请和安装SSL证书》

下载文件共两个,一个是证书pem文件,另一个是私钥key文件,在本地保存好它们

SSL证书Apache服务器的安装(防火墙以及80、443端口监听问题请自行解决)

1、通过ssh登录自己的vps主机,安装mod_ssl模块:

2、检查mod_ssl的安装结果

3、找到Apache安装目录 /etc/httpd/,在 /etc/httpd/conf中新建一个名为「ssl」的文件夹

4、将本地pem文件和私钥上传至vps

5、打开ssl.conf文件并配置:

填写Server Certificate和Server Private Key,注意对应好路径和文件:

重启Apache服务:

6、在自己的域名前加上https,成功访问即为success。

收尾(http自动跳转为https)

按以上设置好之后,我们直接输入自己的域名,发现访问的仍然是http页面。因此我们还需要配置vps以做到将http网页自动跳转为https网页。

打开配置文件后,找到<Directory /var/www/html>部分,然后更改AllowOverride从指令None到All :

重启Apache服务:

打开.htaccess文件(如没有请新建New file)

相关域名全部设置为https:

站点绑定多个域名,只允许www.example.com 跳转:

<注意替换自己的域名>

Advanced usage:

Enjoy it!

打赏作者
如果您喜欢作者的文章,不妨赞助下哟~

您的支持将鼓励我们继续创作!

[支付宝] 扫描二维码打赏

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Recommended
To begin 自…