linux服务之http协议和httpd的配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux服务之http协议和httpd的配置相关的知识,希望对你有一定的参考价值。

httpd的基本应用(3)


 httpd-2.4:

  

  新特性:

   (1) MPM支持运行为DSO机制;以模块形式按需加载;

   (2) event MPM生产环境可用;

   (3) 异步读写机制;

   (4) 支持每模块及每目录的单独日志级别定义;

   (5) 每请求相关的专用配置;

   (6) 增强版的表达式分析式;

   (7) 毫秒级持久连接时长定义;

   (8) 基于FQDN的虚拟主机也不再需要NameVirutalHost指令;

   (9) 新指令,AllowOverrideList;

   (10) 支持用户自定义变量;

   (11) 更低的内存消耗;

   

  新模块:

   (1) mod_proxy_fcgi

   (2) mod_proxy_scgi

   (3) mod_remoteip

   

  安装httpd-2.4

  

   依赖于apr-1.4+, apr-util-1.4+, [apr-iconv]

    apr: apache portable runtime

    

   CentOS 6:

    默认:apr-1.3.9, apr-util-1.3.9

    

    开发环境包组:Development Tools, Server Platform Development

    开发程序包:pcre-devel 

    

    编译安装步骤:

     (1) apr-1.4+

      # ./configure  --prefix=/usr/local/apr

      # make && make install

      

     (2) apr-util-1.4+

      # ./configure  --prefix=/usr/local/apr-util  --with-apr=/usr/local/apr

      # make && make install

      

     (3) httpd-2.4

      # ./configure --prefix=/usr/local/apache24 --sysconfdir=/etc/httpd24  --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork

      # make  && make install

      

      自带的服务控制脚本:apachectl

      

   CentOS 7:

    # yum install  httpd

    

    配置文件:

     /etc/httpd/conf/httpd.conf

     /etc/httpd/conf.modules.d/*.conf

     /etc/httpd/conf.d/*.conf

     

    配置应用:

     (1) 切换使用的MPM

      编辑配置文件/etc/httpd/conf.modules.d/00-mpm.conf,启用要启用的MPM相关的LoadModule指令即可。

      

     (2) 基于IP的访问控制

      允许所有主机访问:Require  all  granted

      拒绝所有主机访问:Require  all  deny

      

      控制特定的IP访问:

       Require  ip  IPADDR:授权指定来源的IP访问;

       Require  not  ip  IPADDR:拒绝

       

      控制特定的主机访问:

       Require  host  HOSTNAME:授权指定来源的主机访问;

       Require  not  host  HOSTNAME:拒绝

       

       HOSTNAME:

        FQDN:特定主机

        domin.tld:指定域名下的所有主机

              

      <RequireAll>

       Require all granted

       Require not ip 172.16.100.2

      </RequireAll>      

      

     (3) 虚拟主机

      基于FQDN的虚拟主机也不再需要NameVirutalHost指令;

      

      <VirtualHost *:80>

       ServerName www.b.net

       DocumentRoot "/apps/b.net/htdocs"

       <Directory "/apps/b.net/htdocs">

        Options None

        AllowOverride None

        Require all granted

       </Directory>

      </VirtualHost> 

      

      注意:任意目录下的页面只有显式授权才能被访问;

      

     (4) ssl

     

     (5)  KeepAliveTimeout  #ms

      毫秒级持久连接时长定义;

      

 练习题:分别使用httpd-2.2和httpd-2.4实现;

 

  1、建立httpd服务,要求:

   (1) 提供两个基于名称的虚拟主机:

    www1.stuX.com,页面文件目录为/web/vhosts/www1;错误日志为/var/log/httpd/www1/error_log,访问日志为/var/log/httpd/www1/access_log;

    www2.stuX.com,页面文件目录为/web/vhosts/www2;错误日志为/var/log/httpd/www2/error_log,访问日志为/var/log/httpd/www2/access_log;

   (2) 通过www1.stuX.com/server-status输出其状态信息,且要求只允许提供账号的用户访问;

   (3) www1不允许192.168.1.0/24网络中的主机访问;

   

  2、为上面的第2个虚拟主机提供https服务,使得用户可以通过https安全的访问此web站点;

   (1) 要求使用证书认证,证书中要求使用国家(CN),州(Beijing),城市(Beijing),组织为(MageEdu);

   (2) 设置部门为Ops, 主机名为www2.stuX.com;


以上是关于linux服务之http协议和httpd的配置的主要内容,如果未能解决你的问题,请参考以下文章

linux服务之http协议和httpd的配置

http协议和httpd的配置

WEB应用之http协议和httpd闲聊

JavaEE之Http协议和Tomcat服务器

linux搭建svn支持svn协议和http协议

Http协议和Tomcat服务器