目录
一、搭建静态网站——基于http协议
二、搭建静态网站——基于https协议
三、基于虚拟目录和用户控制的web网站
四、搭建动态网站
五、相关实验事例
一、搭建静态网站——基于http协议
(一)实验一
搭建一个web服务器,访问该服务器时显示“hello world”欢迎界面。
echo hello world > /var/www/html/index.html
curl 192.168.126.140
之后显示hello world
问题:
1、设置默认访问apache欢迎界面的配置文件?
cat /etc/httpd/conf.d/welcome.conf
2、apache欢迎界面的具体文件?
cat /usr/share/httpd/noindex/index.html
(二)实验二
建立两个基于ip地址访问的网站,要求如下:
1、该网站ip地址的主机位为100,设置DocumentRoot为/www/ip/100,网页内容为:this is 100。
2、该网站ip地址的主机位为200,设置DocumentRoot为/www/ip/200,网页内容为:this is 200。
(1)第一步,先添加两个ip地址。
nmcli connection modify ens160 +ipv4.addresses 192.168.126.100/24 ipv4.gateway 192.168.126.1 ipv4.method manual connection.autoconnect yes
nmcli connection modify ens160 +ipv4.addresses 192.168.126.200/24
nmcli connection up ens160
(2)第二步,创建两个网页文件根目录,并定义网页内容。
mkdir -pv /www/ip/{100,200}
echo this is 100 > /www/ip/100/index.html
echo this is 200 > /www/ip/200/index.html
setenforce 0
getenforce
(3)第三步,定义基于不同ip地址来访问网站的配置文件。
vim /etc/httpd/conf.d/host.conf
systemctl restart httpd
curl 192.168.126.200
curl 192.168.126.100
如果访问时显示的是apache默认的欢迎界面,则需要做如下操作:setenforce 0
(三)实验三
建立两个基于不同端口访问的网站,要求如下:
1、建立一个使用web服务器默认端口的网站,设置DocumentRoot为/www/port/80,网页内容为:the port is 80。
2、建立一个使用10000端口的网站,设置DocumentRoot为/www/port/10000,网页内容为:the port is 10000。
(1)第一步,创建两个网页文件根目录,并定义网页内容
mkdir -pv /www/port/{80,10000}
echo the port is 80 > /www/port/80/index.html
echo the port is 10000 > /www/port/10000/index.html
(2)第二步,定义基于不同端口来访问网站的配置文件
vim /etc/httpd/conf.d/host.conf
systemctl restart httpd
curl 192.168.126.3
curl 192.168.126.3:10000
(四)实验四
建立两个基于域名访问的网站,要求如下:
1、新建一个网站,域名为www.ceshi.com,设置DocumentRoot为/www/name,网页内容为this is test。
2、新建一个网站,域名为rhce.first.day,同时可通过ce.first.day访问,设置DocumentRoot为/www/ce,网页内容为:today is first day of class。
(1)第一步,创建两个网页文件根目录,并定义网页内容
mkdir /www/{name,ce}
echo this is test > /www/name/index.html
echo today is first day of class > /www/ce/index.html
(2)第二步,定义基于域名访问的网站的配置文件
vim /etc/httpd/conf.d/host.conf
systemctl restart httpd
vim /etc/hosts
curl www.ceshi.com
curl rhce.first.day
curl ce.first.day
二、搭建静态网站——基于https协议
(一)https协议简介
HTTP,超文本传输协议,以明文方式发送内容,不提供任何方式的数据加密。
HTTPS,超文本传输安全协议,是以安全为目标的HTTP通道。
HTTPS=HTTP+SSL(TLS)
SSL 是“Secure Sockets Layer”的缩写,中文叫做“安全套接层”。标准化之后SSL被改为 TLS
(二)SSL协议分层(两层)
SSL记录协议:它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能。
SSL握手协议:它建立在SSL记录协议之上,用于在实际的数据传输
开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
(三)SSL协议提供的服务
1)认证用户和服务器,确保数据发送到正确的客户机和服务器
2)加密数据以防止数据中途被窃取
3)维护数据的完整性,确保数据在传输过程中不被改变。
(四)HASH算法
HASH是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。Hash算法特别的地方在于它是一种单向算法,用户可以通过hash算法对目标信息生成一段特定长度的唯一hash值,却不能通过这个hash值重新获得目标信息。因此Hash算法常用在不可还原的密码存储、信息完整性校验等。
常见的HASH算法:MD2、MD4、MD5、HAVAL、SHA、SHA-1、HMAC、HMAC-MD5、HMAC、SHA1。
(五)服务器的证书
如何证明公开密钥本身是货真价实的公开密钥?
如,正准备和某台服务器建立公开密钥加密方式下 的通信时,如何证明收到的公开密钥就是原本预想的那台服务器发行的公开密钥。或许在公开密钥传输 过程中,真正的公开密钥已经被攻击者替换掉了。这个时候就需要第三方公证单位来帮忙啦。
CA,就是一个公认的公证单位,能给服务器发证书。
证书的主要内容:服务器的域名、公钥、hash算法、证书颁发机构的数字签名,等。
其中,证书颁发机构的数字签名使用了指纹算法中指定的hsah算法,以及证书颁发机构的私钥进行加密。
(六)浏览器与服务器之间的通信
(1)客户端浏览器向服务器端发送如下信息:
1、客户端支持的SSL /TLS协议的版本号。
2、Cipher Suite(密钥算法套件)。
3、客户端产生的随机数,稍后用于生成"对话密钥"。
(2)服务器端向客户端发送如下信息:
1、确认使用的加密通信协议版本,如果浏览器与服务器支持的版本不一致,服务器关闭加密通
信。
2、确认使用的加密方法。
3、服务器证书。
4. 服务器生成的随机数,稍后用于生成"对话密钥"
(3)客户端利用服务器传过来的信息验证服务器的合法性。
(4)客户端随机产生一个用于后面通讯的对称密钥,然后用服务器的公钥对其加密,然后将加密后的对称密钥传给服务器。
(七)实验:搭建https协议访问的网站
yum install mod_ssl https -y
cd /etc/pki/tls/certs/
openssl genrsa -aes128 2048 > jiami.key
openssl req -utf8 -new -key jiami.key -x509 -days 100 -out jiami.crt
之后配置文件
vim /etc/httpd/conf.d/https.conf
systemctl restart httpd
三、基于虚拟目录和用户控制的web网站
实验命令流程:
[root@localhost ~]#htpasswd -c /etc/httpd/mymima xiaoming(-c表示创建)
输入密码
[root@localhost ~]# htpasswd /etc/httpd/mymima xiaohong
输入密码
[root@localhost ~]# mkdir /usr/local/mysecret
[root@localhost ~]# echo this is my secret > /usr/local/mysecret/index.html
[root@localhost ~]# vim /etc/httpd/conf.d/vhosts.conf
[root@localhost ~]#systemctl restart httpd
[root@localhost ~]#curl 192.168.227.140/mimi/ -u xiaoming
四、搭建动态网站
动态网站并不是指具有动画功能的网站,而是指网站内容可根据不同情况动态变更的网站,一般情况下动态网站通过数据库进行架构。 动态网站除了要设计网页外,还要通过数据库和编程序来使网站具有更多自动的和高级的功能。
动态网页:使用网页脚本语言,比如php、JSP等,通过脚本将网站内容动态存储到数据库,用户访问网站是通过读取数据库来动态生成网页的方法。
五、相关实验事例
实验要求:
搭建一个基于https://www.zuoye.com访问的web网站,网站首页在/www/https/,内容为exercise。
第一步,创建网页的根目录,并向配置文件写入浏览内容。
第二步,创建一个密钥
第三步,配置新密钥的信息
第四步,配置文件
第五步,重启服务
都看到这里了,创作不易,大家点个赞再走呗!!( ˃̶̤́ ꒳ ˂̶̤̀ )