Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。

    Apacheweb服务器软件拥有以下特性:

 

      支持最新的HTTP/1.1通信协议

 

拥有简单而强有力的基于文件的配置过程

支持通用网关接口

支持基于IP和基于域名的虚拟主机

支持多种方式的HTTP认证

集成Perl处理模块

集成代理服务器模块

支持实时监视服务器状态和定制服务器日志

支持服务器端包含指令(SSI)

支持安全Socket层(SSL)

提供用户会话过程的跟踪

支持FastCGI

通过第三方模块可以支持Java Servlets

一   修改服务的默认路径:

     Apache服务的默认目录是/var/www/html,也就是别人在访问本机时将看到该目录里面的内容。这个目录在我有需要的时候可以进行更改。

   1  首先当然是要配置好yum源然后安装Apache服务:yum install httpd

       在安装完成之后需要开启服务并关闭防火墙:

         

    2  比如说现在需要将Apache的默认目录修改为/westos,首先需要建立该目录,为了验证修改之后的结果,在该目录下建立一个html文件aaa.html:

       在该文件里写上aaa's page,如果修改成功,那么在访问时就将看到aaa's page这几个词:

  

   3   在文件建立完成之后,编辑Apache服务的配置文件,这个文件的路径为: /etc/httpd/conf/httpd.conf

        在文件的119行,注释掉原来的目录,并用同样的形式写上DocumentRoot "/westos/",意思是将默认目录修改为/westos

       在之后的几行依次写下如下内容,意思是允许所有请求访问资源,并且文件的直接指向文件为aaa.html

       配置文件编辑完成只后重启服务:systemctl restart httpd

       打开浏览器,输入配置Apache的主机ip回车,就可以看到建立的文件了。表明默认目录修改成功。

二   Apache黑名单和白名单的设置:

      Apache黑名单和白名单的设置有两种方式,一种是以ip作为限制,另一种是以用户名作为限制。

     ip限制方式:

       1  恢复默认目录:注释或删除之前配置的内容,并取消注释原来的内容:

         

        2  在/var/www/html目录下建立目录westos,并在该目录下建立文件westos.html:

 

           同样地写入内容以便验证结果:

        3  编辑配置文件,设定对/var/www/html/westos目录的访问权限

           其中Order行指令的先后顺序影响着该配置文件是黑名单还是白名单。以还配置文件为例,当Deny在前时,文件的读取顺序是先读取Drny from all这行指令,再读取Allow from 172.25.254.45这行指令。也就是说先拒绝所有的访问,再允许45这台主机的访问。那么这个配置文件的意思是一份白名单了。

         那么重启服务之后用45这台主机访问时,可以看到刚才建立的文件:

        在用其他主机访问时被禁止:

4  当Allow在前Deny在后时,这就是一份黑名单的配置了:

   重启服务之后在浏览器里输入ip,显示请求被禁止:

 用户名限制方式:

      1  切换到/etc/httpd目录下,执行指令htpasswd -cm apacheuser linux建立一个Apache用户,并为用户设置密码。建立的第一个用户时需要加上指令-c,之后的用户建立就不需要-c了,否则新建的用户就会覆盖掉原来的用户。

          在用户建立之后就会在该目录下建立一个文件apacheuser,这个文件里面包含用户名和加密之后的密码文段。

    

   2 编辑apache的配置文件,设置在访问/var/www/html/westos目录时,会读取/etc/httpd/apacheuser文件,并且在读取请求发出时弹出界面please input username and password,要求输入用户名和密码。只有认证成功才可以访问。

   

    配置完成之后需要重启服务。输入用户名和密码之后就可以看到文件了:

三   设置不同域名访问不同的界面

       1  想要设置其他主机访问时输入不同的域名访问到不同的界面,首先需要在/etc/hosts文件中,编辑可以访问的域名:

       

      2   在Apache的配置文件中,注释掉Require user linux,编辑Require valid-user:

     

      3  在/etc/httpd/conf.d目录下,建立文件default.conf,  music.conf,  news.conf

    

       4  vim default.conf文件,编辑如下内容:这里编辑的时访问时的默认文件,即/var/www/html目录下的文件:

    

      在/var/www/html目录下建立文件index.html,并编辑如下内容后保存退出:

    重启服务,在访问www.westos.com域名时,就会看到默认文件的内容:

   5  设置music.westos.com域名和news.westos.com域名的访问页面:

       在/etc/httpd/conf.d目录下编辑music.conf文件:

     

   编辑news.con文件:

     

   在建立目录/var/www/virtual/westos.com,并在该目录下分别建立music,news两个目录:

     

  在music目录里建立文件index.html并编辑内容:

在news目录里建立文件index.html并编辑内容:

6    配置完成之后重启服务,在浏览器访问不同域名将得到不同的结果:

四   设置https:

    HTTPS:是HTTP协议的安全加强版,通过在HTTP上建立加密层,对传输数据进行加密。主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。 在类似于需要输入用户信息比如账户和密码的网页时,需要确保数据的安全,这时就需要设置https。

    1  首先需要安装程序mod_ssl:

   

        在这个程序在安装之后,就会在/etc/httpd/conf.d目录下,生成一个ssl.conf文件,这时mod_ssl程序的配置文件:

        同时在安装时,会说明.crt文件和.key文件的路径:

   2  安装程序:yum install crypto-utils -y

   3  执行指令genkey www.westos.com 为域名www.westos.com加密:

      在执行指令之后,会进入到加密界面,这个界面中包含.crt文件和.key文件的路径:

    

  选择加密长度,长度越长越安全,但是服务的响应也会越慢:

  在这个界面需要按键盘,否则进度就会停止或者很慢:

编辑信息,这一步完成之后就会自动退出加密界面:

   4    编辑ssl.conf文件,在文件的100行和107行,注释掉原有内容,添加上.crt文件和.key文件的路径:

   5  重启Apache服务,这时再访问www.westos.com域名时,就会要求域名许可证:

    

    点击下面红框中的内容:

   选择获取许可证:

   这样就会看到文件内容了,此时域名前不是http而是https了:

五  从http到https的自动跳转:

       1 以设置login.westos.com域名为例,首先当然是要在/etc/hosts文件中添加login.westos.com这一域名,否则 无法访问

      2 同样是在/etc/httpd/conf.d目录下,将music.conf文件复制一份为login.conf:

     

3   在/var/www/virtual/westos.com目录下建立目录login,并在login目录下建立index.html并编辑如下内容来验证结果:

 4   vim login.conf编辑login.conf文件,来进行对自动跳转的配置:

5 配置完成后重启服务,在浏览器里输入login.westos.com:

回车之后,就会从http自动跳转为https:

六   apache的正向代理:

      1  在虚拟机里设置网关和dns,使虚拟机可以上网

      2  yum install squid -y  安装squid服务

     3  systemctl start squid  开启squid服务

    4  编辑squid的配置文件:vim /etc/squid/squid.conf

        设置http_access 为allow all ,并开启http_port 3128

          

   5 重启squid服务,在server的浏览器里设置:

        

   设置htt[ proxy 和端口为3128:

  6  设置完成之后保存,这台主机就可以上网了

七  cdn加速(反向代理):

        CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。CDN有别于镜像,因为它比镜像更智能,或者可以做这样一个比喻:CDN=更智能的镜像+缓存+流量导流。因而,CDN可以明显提高Internet网络中信息流动的效率。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等问题,提高用户访问网站的响应速度。

  CDN的工作流程:

        当用户访问已经加入CDN服务的网站时,首先通过DNS重定向技术确定最接近用户的最佳CDN节点,同时将用户的请求指向该节点。当用户的请求到达指定节点时,CDN的服务器(节点上的高速缓存)负责将用户请求的内容提供给用户。具体流程为: 用户在自己的浏览器中输入要访问的网站的域名,浏览器向本地DNS请求对该域名的解析,本地DNS将请求发到网站的主DNS,主DNS根据一系列的策略确定当时最适当的CDN节点,并将解析的结果(IP地址)发给用户,用户向给定的CDN节点请求相应网站的内容。

        1  在server这台主机上,删除之前的浏览器设置,并安装squid服务并开启

         2  编辑suqid服务的配置文件:vim /etc/squid/squid.conf:

            以172.25.254.145这台主机作为父设备,并使用80端口:

            

       3  重启服务,在浏览器里就可以解析域名了

        

 

    

 

Logo

更多推荐