• Web服务器实战


    网站需求

    1.基于域名www.openlab.com可以访问网站内容为 welcome to openlab!!!
    2.给该公司创建三个网站目录分别显示学生信息,教学资料和缴费网站,基于www.openlab.com/student 网站访问学生信息,www.openlab.com/data网站访问教学资料
    www.openlab.com/money网站访问缴费网站。
    3.要求:
    (1)学生信息网站只有song和tian两人可以访问,其他网站所有用户用能访问。
    (2)访问缴费网站实现数据加密基于https访问。

    准备

    1.需要两台Linux虚拟机,一台为服务端server,另一台为客户端client
    server IPV4:192.168.110.136/24                client  IPV4:192.168.110.134/24
    2.服务端需要关闭防火墙和Linux的安全服务seLinux
    [root@server ~]# systemctl stop firewalld
    [root@server ~]# setenforce 0
    [root@server ~]# getenforce 
    Permissive

    3.安装httpd,mol_ssl
    [root@server ~]# yum install -y httpd mod_ssl

    配置

    1.客户端通过IP地址可以正常访问服务端内容

    [root@server ~]# mkdir -v /openlab/                       #创建目录
    已创建目录 '/openlab/' 
    [root@server ~]# echo "welcome to openlab!!!" > /openlab/index.html  #写入内容 
    [root@server ~]# vim /etc/httpd/conf.d/openlab.conf            #打开httpd的额外参数配置文件 


            Options Indexes FollowSymLinks                                       
            AllowOverride None  

            Require all granted                 


        ServerAdmin admin@outlook.com
        DocumentRoot "/openlab/"
        ServerName www.openlab.com

    [root@server ~]# httpd -t               #语法检测
    Syntax OK
    [root@server ~]# systemctl restart httpd         #重启服务

    客户端访问

    [root@client ~]# curl 192.168.110.136
    welcome to openlab!!!

    2.搭建学生信息,教学资料,缴费网站页面

    [root@server ~]# mkdir /openlab/{student,data,money} -v
    mkdir: 已创建目录 '/openlab/student'
    mkdir: 已创建目录 '/openlab/data'
    mkdir: 已创建目录 '/openlab/money'

    [root@server ~]# echo "学生信息" > /openlab/student/index.html      #写入内容
    [root@server ~]# echo "教育网站" > /openlab/data/index.html           #写入内容
    [root@server ~]# echo "缴费网站" > /openlab/money/index.html       #写入内容

    首先配置student页面只有song和tian用户访问

    [root@server ~]# htpasswd -c /etc/httpd/conf.d/httpd song    #创建sond的身份验证文件
    New password: 
    Re-type new password: 
    Adding password for user song
    [root@server ~]# htpasswd /etc/httpd/conf.d/httpd tian      #添加tain的身份验证文件
    New password: 
    Re-type new password: 
    Adding password for user tian

    [root@server ~]# cat /etc/httpd/conf.d/httpd
    song:$apr1$XWPO6i0/$hNsM5W/Gx3ukFsPokAEEH.
    tian:$apr1$SSblX1SO$YGyWDIuzZmCuLfhBnqn6m1

    [root@server ~]# vim /etc/httpd/conf.d/openlab.conf    #在额外参数配置文件添加内容


        ServerAdmin admin@outlook.com
        DocumentRoot "/openlab/student"
        ServerName www.openlab.com


            Options Indexes FollowSymLinks
            AllowOverride None
            AuthType Basic
            AuthName "Restricted Files"
            AuthUserFile "/etc/httpd/conf.d/httpd "    #身份验证文件的路径
            Require user song tian                         #允许访问的用户


    [root@server ~]# httpd -t                             #语法检测
    Syntax OK
    [root@server ~]# systemctl restart httpd   #重启服务

    客户端访问

    [root@client ~]# curl 192.168.110.136/student/ -u song
    Enter host password for user 'song':
    学生信息
    [root@client ~]# curl 192.168.110.136/student/ -u tian
    Enter host password for user 'tian':
    学生信息


    其他用户访问

    配置教学资料网站所有用户都可访问

    [root@server ~]# vim /etc/httpd/conf.d/openlab.conf   #打开配置文件添加内容


    Options Indexes FollowSymLinks
      AllowOverride None
    Require all granted


        ServerAdmin admin@outlook.com
        DocumentRoot "/openlab/data/"
        ServerName www.openlab.com

    [root@server ~]# httpd -t
    Syntax OK
    [root@server ~]# systemctl restart httpd
     

    客户端访问

    [root@client ~]# curl 192.168.110.136/data/
    教育网站

    配置缴费网站实现数据加密基于https访问

    [root@server ~]# cd /etc/pki/tls/certs/                         #存放着一些证书文件

    [root@server certs]# openssl genrsa 2048 >> openlab.key    #生成私钥文件
    [root@server certs]# openssl req -utf8 -new -key openlab.key -x509 -days 100 -out openlab.crt     #生成证书
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) [XX]:SN         #国家
    State or Province Name (full name) []:CN     #省份
    Locality Name (eg, city) [Default City]:XI'AN        #城市     
    Organization Name (eg, company) [Default Company Ltd]:OPENLAB    #企业
    Organizational Unit Name (eg, section) []:RHCE        #部门
    Common Name (eg, your name or your server's hostname) []:www.openlab.com 域名
    Email Address []:admi@outlook.com            #邮件
    [root@server ~]# vim /etc/httpd/conf.d/openlab.conf


        DocumentRoot "/openlab/money/"
        ServerName www.openlab.com
        SSLEngine on
        SSLCertificateFile "/etc/pki/tls/certs/openlab.crt"
        SSLCertificateKeyFile "/etc/pki/tls/certs/openlab.key"


        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted

    [root@server ~]# httpd -t
    Syntax OK
    [root@server ~]# systemctl restart httpd

    客户端访问

    [root@client ~]# curl https://192.168.110.136 -k    #-k为忽略证书访问
    缴费网站
    [root@client ~]# curl 192.168.110.136/money/ -k 
    缴费网站

    /etc/httpd/conf.d/openlab.conf配置文件最终内容

    3.客户端通过域名可以正常访问服务端内容

    在没有DNS域名解析服务器的情况下可以使用本机hosts文件,hosts文件其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联"数据库"

    在Linux下hosts文件地址为/etc/host

    [root@client ~]# vim /etc/hosts                        #写入内容

    192.168.110.136        www.openlab.com

    [root@client ~]# curl www.openlab.com
    welcome to openlab!!!
    [root@client ~]# curl www.openlab.com/student/ -u song
    Enter host password for user 'song':
    学生信息
    [root@client ~]# curl www.openlab.com/student/ -u tian
    Enter host password for user 'tian':
    学生信息
    [root@client ~]# curl www.openlab.com/data/
    教育网站
    [root@client ~]# curl https://www.openlab.com -k
    缴费网站
    [root@client ~]# curl www.openlab.com/money/ -k
    缴费网站

    在Windows客户端下hosts文件路径为C:\Windows\System32\drivers\etc\hosts  

    添加内容,浏览器访问即可

  • 相关阅读:
    ApkScan-PKID 查壳工具下载使用以及相关技术介绍
    vue实现鼠标经过显示悬浮框效果,使用Vue的v-show指令和CSS的:hover伪类,利用Vue的数据绑定
    三策略,六步骤,Jenkins 迁移到极狐GitLab CI 的终极指南
    Day10_Git版本控制、项目总结,preview_220627,
    ElasticSearch搜索引擎:数据的写入流程
    测试工具之压测工具JMeter(一)
    Golang sync.WaitGroup
    怎么把图片批量旋转?简单三招就可以实现
    winform车辆管理系统VS开发sqlserver数据库CS结构c#编程源码程序
    单元测试详解
  • 原文地址:https://blog.csdn.net/weixin_72583321/article/details/134257187