https 端口–443
在超文本传输协议http+ssl认证—超文本传输安全协议–应用层与传输层之间加
Ssl建立在tcp之上,三个特点:
1)认证用户和服务器,确保数据发送到正确的客户机和服务器;
2)加密数据以防止数据中途被窃取
3)维护数据的完整性,确保数据在传输过程中不被改变
分为:1、共享密钥加密(对成密钥)2、公开密钥加密(非对称密钥加密)
3、 公钥(公共拥有)—加密 4、私钥----解密
工作流程:认证服务器—>协商会话密钥(非对称密钥)---->数据加密通信
[root@b ~]# rpm -qa | grep httpd ----安装httpd
httpd-2.4.6-40.el7.x86_64
httpd-tools-2.4.6-40.el7.x86_64
[root@b ~]# yum install mod_ssl -y ----安装ssl
[root@b ~]# systemctl stop firewalld.service
[root@b ~]# setenforce 0
[root@b ~]# rpm -ql mod_ssl----查看释放的文件列表信息
/etc/httpd/conf.d/ssl.conf
/etc/httpd/conf.modules.d/00-ssl.conf
/usr/lib64/httpd/modules/mod_ssl.so
/usr/libexec/httpd-ssl-pass-dialog
/var/cache/httpd/ssl
[root@b ~]# vim /etc/httpd/conf.d/ssl_mod----应用程序的配置信息(认证信息)
<Directory /www>
Require all granted
Allowoverride none
</Directory>
<VirtualHost 192.168.154.131:443>
DocumentRoot /www
ServerName 192.168.154.131
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SEED:!IDEA
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
</VirtualHost>
以上图中virtualhost中后五行配置信息从应用程序的配置信息中粘贴主要信息
[root@b ~]# mkdir /www-----创建该目录
[root@b ~]# echo 123456 > /www/index.html ------写入内容
[root@b ~]# cd /etc/pki/tls/certs ------查看证书
【[root@b certs]# make xx.crt -----制作自定义证书
umask 77 ; \
/usr/bin/openssl genrsa -aes128 2048 > xx.key
Generating RSA private key, 2048 bit long modulus
................................................+++
................................................+++
e is 65537 (0x10001)
Enter pass phrase:------设置密码
Verifying - Enter pass phrase:------验证密码
umask 77 ; \
/usr/bin/openssl req -utf8 -new -key xx.key -x509 -days 365(期限) -out xx.crt -set_serial 0(版本号)
Enter pass phrase for xx.key:---验证密码
建立完成
[root@b certs]# mv xx.key …/private/
[root@b certs]# vim /etc/httpd/conf.d/haha.conf
将其中证书修改为自定义证书密钥
[root@b certs]# systemctl restart httpd----重启
Enter SSL pass phrase for 192.168.154.131:443 (RSA) : ****** -----验证
[root@b certs]# systemctl status httpd -l -----查看状态
验证[root@b certs]# curl https://192.168.154.131 或在ie浏览器上验证
虚拟目录:
可实现通过虚拟目录的别名来访问其他文件中与之对应的真实文件资源
[root@b certs]# vim /etc/httpd/conf.d/haha.conf
<Directory /www> -----开启权限
Require all granted
Allowoverride none
</ Directory>
<Directory /1> ----开启权限
Require all granted
Allowoverride none
</ Directory>
<VirtualHost 192.168.154.131:80>
DocumentRoot /www
ServerName 192.168.154.131
Alias /dd /1/2/3 ----设置别名
</ VirtualHost>
[root@b certs]# mkdir /1/2/3 -pv -----创建该目录
mkdir: created directory ‘/1’
mkdir: created directory ‘/1/2’
mkdir: created directory ‘/1/2/3’
[root@b certs]# echo hhhhhh > /1/2/3/index.html -----写入内容
[root@b certs]# systemctl restart httpd.service ------重启服务
[root@b certs]# curl http:// 192.168.154.131/dd/ ----访问测试
Hhhhhh
若不加【/dd/】则访问的是网站的根下的文件资源
用户控制 -----目录模块中设定
<Directory /www>
Require all granted
Allowoverride none
</ Directory>
<Directory /1> -----实现用户访问控制
Authtype Basic-----基本认证类型
AuthName "please login:"----提示信息
AuthUserFile /etc/httpd/huhu ----用户认证文件名和密码文件
Require user abc def ----指定所有有效用户均可尝试认证,请求账户
</ Directory>
<VirtualHost 192.168.154.131:80>
DocumentRoot /www
ServerName 192.168.154.131
Alias /dd /1/2/3
</ VirtualHost>
[root@b ~]# htpasswd -c /etc/httpd/huhu abc----添加认证文件及用户信息
New password:
Re-type new password:
Adding password for user abc
[root@b ~]# htpasswd /etc/httpd/huhu def----第二次添加不可加-c,否则覆盖
New password:
Re-type new password:
Adding password for user def
[root@b ~]# vim /etc/httpd/huhu -----查看用户信息
[root@b ~]# systemctl restart httpd.service ------重启协议
测试:
输入用户名及密码后
来源:CSDN
作者:Alkaid__3
链接:https://blog.csdn.net/Alkaid__3/article/details/104110216