HTTPS证书签名机制与实战(基于云服务器Centos7的Apache证书安装)

HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。HTTPS 在HTTP 的基础下加入SSL 层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通讯方法。它被广泛用于万维网上安全敏感的通讯,例如交易支付等方面。

百度百科摘过来的名词解释,我就不多解释了,这篇博客主要介绍https如何配置的。

我们先在腾讯云上新建一个云服务器,如果做实验的话建议选择亚太地区的云服务器(不需要备案,否则配置https就有问题哦)。

一、申请证书

下面我们先申请SSL证书,步骤如下:

(1)点击“云产品”,接着点击“SSL证书”。

 (2)我们申请免费的证书,填写相关信息

 

(3) 申请后需要过一段时间才可以审核通过。

 (4)我们先下载证书,下载到本地解压打开,发现有四种网站部署的证书,我们选择Apache,将Apache下面的三个文件通过xftp上传到云服务器上。并copy到 /etc/httpd/ssl/目录下,ssl这个目录没有的话需要自己创建。

 

不同证书安装方式可参考腾讯云给的参考文档。

https://cloud.tencent.com/document/product/400/4143 

 二、部署自己的网站

我们就简单搭建一个网站,就搭建discuz吧,顺便复习一下。

yum install httpd php php-mysql mariadb-server mariadb -y
systemctl start httpd.service mariadb.service 
systemctl enable httpd.service mariadb.service 

#数据库初始化
mysql_secure_installation

#检查php是否连接到数据库
php -m | grep mysql
systemctl restart httpd

#上传Discuz包到云服务器,并解压
unzip Discuz_X3.4_SC_UTF8【20191201】.zip -d discuz 

#将discuz包下文件复制到http的主目录下,并设置权限
cp discuz/upload/* /var/www/html/ -r
chown apache:apache /var/www/html/ -Rf

 下面通过浏览器访问ip开始安装discuz,我就不多介绍了。可参照我的这篇博客:

https://blog.csdn.net/Until_U/article/details/105284886

三、申请域名

因为我这个是云服务器,申请的域名要和这个服务器的公网IP进行绑定,这样才能正确解析我申请的域名,这个我就不介绍了。

 

四、配置https(重点来了)

(1)在 /etc/httpd/conf 目录下的 httpd.conf 配置文件找到 Include conf.modules.d/*.conf(用于加载配置 SSL 的配置目录)配置语句,并确认该配置语句未被注释。若已注释,请去掉首行的注释符号(#),保存配置文件。

(2)在 /etc/httpd/conf.modules.d 目录下的 00-ssl.conf 配置文件找到 LoadModule ssl_module modules/mod_ssl.so(用于加载 SSL 模块)配置语句,并确认该配置语句未被注释,若已注释,请去掉首行的注释符号(#),保存配置文件。

由于操作系统的版本不同,目录结构也不同,请根据实际操作系统版本进行查找。
若以上配置文件中均未找到 LoadModule ssl_module modules/mod_ssl.so 和 Include conf.modules.d/*.conf 配置语句,请确认是否已经安装 mod_ssl.so 模块。若未安装 mod_ssl.so 模块,您可通过执行yum install mod_ssl -y 命令进行安装。

 然后编辑下面这个文件,确保是以下内容(默认不用改)

vi /etc/httpd/conf.modules.d/00-ssl.conf 
LoadModule ssl_module modules/mod_ssl.so

 (3)配置ssl.conf配置文件(确保可以通过https访问)

vi /etc/httpd/conf.d/ssl.conf 
<VirtualHost 0.0.0.0:443>
     DocumentRoot "/var/www/html"
     #填写证书名称
     ServerName www.gawcloud.xyz
     #启用 SSL 功能
     SSLEngine on
     #证书文件的路径
     SSLCertificateFile /etc/httpd/ssl/2_www.gawcloud.xyz.crt
     #私钥文件的路径
     SSLCertificateKeyFile /etc/httpd/ssl/3_www.gawcloud.xyz.key
     #证书链文件的路径
     SSLCertificateChainFile /etc/httpd/ssl/1_root_bundle.crt
</VirtualHost>

 (4)HTTP 自动跳转 HTTPS 的安全配置,通过配置服务器,让其自动将 HTTP 的请求重定向到 HTTPS。您可以通过以下操作设置:

  1. 编辑 /etc/httpd/conf 目录下的 httpd.conf 配置文件。
  2. 请确认该配置文件是否存在LoadModule rewrite_module modules/mod_rewrite.so
    • 若存在,请去掉LoadModule rewrite_module modules/mod_rewrite.so前面的注释符号(#)号。并执行 步骤4

    • 若不存在,请执行 步骤3
  3. /etc/httpd/conf.modules.d中新建一个 *.conf 文件,例如 00-rewrite.conf。在新建文件中添加以下内容:
vi /etc/httpd/conf.modules.d/00-rewrite.conf 
LoadModule rewrite_module modules/mod_rewrite.so

      4. 在 httpd.conf 配置文件中添加如下内容:

vi /etc/httpd/conf/httpd.conf 
<Directory "/var/www/html">
# 新增
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
</Directory>

 五、测试访问

在浏览器中输入www.gawcloud.xyz或者输入https://www.gawcloud.xyz都可以访问

如果想要看到网页访问时安全的,可以写个简单的测试网页,然后访问:

vim /var/www/html/test.html
This is just a testpage!

查看证书信息:

大功告成! 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

硬核的无脸man~

你的鼓励是我创作的最大功力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值