在Apache HTTP服务器上配置TLS加密
创始人
2024-09-26 01:24:18
0

默认情况下,Apache 使⽤未加密的 HTTP 连接向客⼾端提供内容。

一、https简介

超⽂本传输协议HTTP协议被⽤于在Web浏览器和⽹站服务器之间传递信息。HTTP协议以明 ⽂⽅式发送内容,不提供任何⽅式的数据加密,如果攻击者截取了Web浏览器和⽹站服务器 之间的传输报⽂,就可以直接读懂其中的信息,因此HTTP协议不适合传输⼀些敏感信息,⽐ 如信⽤卡号、密码等。为了解决HTTP协议的这⼀缺陷,需要使⽤另⼀种协议:安全套接字层 超⽂本传输协议HTTPS。 HTTPS ( 全 称 : Hyper Text Transfer Protocol over Secure Socket Layer 或 Hypertext Transfer Protocol Secure,超⽂本传输安全协议),是以安全为⽬标的HTTP通道。HTTPS并 不是⼀个新协议,⽽是HTTP+SSL(TLS)。原本HTTP先和TCP(假定传输层是TCP协议)直 接通信,⽽加了SSL后,就变成HTTP先和SSL通信,再由SSL和TCP通信,相当于SSL被嵌在 了HTTP和TCP之间。

SSL 是“Secure Sockets Layer”的缩写,中⽂叫做“安全套接层”。它是在上世纪90年代中 期,由⽹景公司设计的。到了1999年,SSL 应⽤⼴泛,已经成为互联⽹上的事实标准。IETF 就把SSL 标准化。标准化之后SSL被改为 TLS(Transport Layer Security传输层安全协议)。

SSL协议分为两层: SSL记录协议 (SSL Record Protocol):它建⽴在可靠的传输协议(如TCP)之上,为 ⾼层协议提供数据封装、压缩、加密等基本功能。 SSL握⼿协议(SSL Handshake Protocol):它建⽴在SSL记录协议之上,⽤于在实际 的数据传输开始前,通讯双⽅进⾏⾝份认证、协商加密算法、交换加密密钥等。 SSL协议提供的服务: 1)认证⽤⼾和服务器,确保数据发送到正确的客⼾机和服务器 2)加密数据以防⽌数据中途被窃取 3)维护数据的完整性,确保数据在传输过程中不被改变

二、实现步骤

1、安装mod_ssl

cd /etc/httpd/conf.d/

dnf install mod_ssl -y

使用ll命令发现多了ssl.conf

vim ssl.conf进入配置文件查看

SSLCertificateFile /etc/pki/tls/certs/localhost.crt 认证文件

SSLCertificateKeyFile /etc/pki/tls/private/localhost.key 密钥文件

2、重启httpd服务

systemctl restart httpd

查看监听:netstat -lntup | grep httpd

发现多了一个443端口

3、通过openssl工具生成钥匙,再通过钥匙生成证书

openssl genrsa > jiami.key

openssl req -utf8 -new -key jiami.key -x509 -days 100 -out jiami.crt

cd /etc/pki/tls/certs/

pki公钥基础设施

使用ll可以看到这里面有一个默认的证书localhost.crt

ll ../private查看上一级的/private目录可以看到有一个localhost.key密钥

mv jiami.key ../private/

cd - 返回到刚才的目录

修改ssl.conf:

vim ssl.conf

SSLCertificateFile /etc/pki/tls/certs/localhost.crt

修改为:SSLCertificateFile /etc/pki/tls/certs/jiami.crt

SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

修改为:SSLCertificateKeyFile /etc/pki/tls/private/jiami.key

4、重启httpd服务

systemctl restart httpd

5、验证结果

6、配置vhost.conf文件

vim /etc/httpd/conf.d/vhost.conf

把ssl.conf文件中的以下内容,添加到vhost.conf中:

SSLCertificateFile /etc/pki/tls/certs/jiami.crt

SSLCertificateKeyFile /etc/pki/tls/private/jiami.key

SSLEngine on

端口号要修改为443

修改后如下:

authtype basic

authname "请输入密码:"

authuserfile /etc/httpd/zhanghao

require user abc tom

SSLEngine on SSLCertificateFile /etc/pki/tls/certs/jiami.crt

SSLCertificateKeyFile /etc/pki/tls/private/jiami.key

documentroot /www/hehe

alias /hehe /usr/local/mysecret

servername https://blog.csdn.net/weixin_63657273/article/details/www.hehe.com

创建所需的目录

mkdir /usr/local/mysecret/

往目录中写内容

echo This is mysecret > /usr/local/mysecret/index.html

cd /www/

mkdir hehe

echo hehe >hehe/index.html

在本地解析文件中添加以下内容:

vim /etc/hosts

192.168.229.135 https://blog.csdn.net/weixin_63657273/article/details/www.hehe.com

添加用户

htpasswd -c /etc/httpd/zhanghao abc

htpasswd /etc/httpd/zhanghao tom

配置windows中的本地解析文件hosts

C:\Windows\System32\drivers\etc

添加以下内容: 192.168.229.135 https://blog.csdn.net/weixin_63657273/article/details/www.hehe.com

7、重启服务,关闭防火墙和SELniux

systemctl restart httpd

systemctl stop firewalld.service

setenforce 0

8、验证结果

相关内容

热门资讯

绝活儿辅助!广西老友玩老是输怎... 绝活儿辅助!广西老友玩老是输怎么办(辅助挂)都是真的有辅助app(讲解有挂)在进入广西老友玩老是输怎...
法门辅助!福建13水插件(辅助... 法门辅助!福建13水插件(辅助挂)一贯是有辅助技巧(有挂技术)1、许多玩家不知道福建13水插件辅助怎...
办法辅助!潮友会app下载官方... 办法辅助!潮友会app下载官方辅助器(辅助挂)真是真的是有辅助app(有挂教程)该软件可以轻松地帮助...
妙招辅助!邯郸胡乐挂辅助(辅助... 妙招辅助!邯郸胡乐挂辅助(辅助挂)好像存在有辅助插件(有挂方略)1、上手简单,内置详细流程视频教学,...
教程书辅助!乐酷辅助(辅助挂)... 教程书辅助!乐酷辅助(辅助挂)其实存在有辅助脚本(有挂细节)乐酷辅助能透视中分为三种模型:乐酷辅助模...
学习辅助!决战卡五星辅助(辅助... 学习辅助!决战卡五星辅助(辅助挂)本来真的是有辅助软件(有人有挂)学习辅助!决战卡五星辅助(辅助挂)...
绝活辅助!边锋嘉兴麻将辅助器(... 绝活辅助!边锋嘉兴麻将辅助器(辅助挂)真是真的有辅助神器(新版有挂)1、边锋嘉兴麻将辅助器公共底牌简...
举措辅助!枫叶辅助器(辅助挂)... 举措辅助!枫叶辅助器(辅助挂)本来存在有辅助技巧(竟然有挂)1、下载好枫叶辅助器正确养号方法之后点击...
讲义辅助!点我达辅助(辅助挂)... 讲义辅助!点我达辅助(辅助挂)一直存在有辅助技巧(有人有挂)1、点我达辅助辅助器安装包、点我达辅助辅...
模块辅助!威信茶馆有挂的吗(辅... 模块辅助!威信茶馆有挂的吗(辅助挂)一直真的是有辅助脚本(揭秘有挂)1、玩家可以在威信茶馆有挂的吗线...