zoukankan      html  css  js  c++  java
  • HTTP实验:分别使用httpd-2.2和httpd-2.4实现

    1. 需求描述

    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),组织为(jzbg);
        (2) 设置部门为Ops, 主机名为www2.stuX.com;
    

    2. 使用apache 2.4.6实现

    2.1. 编译安装apache 2.4.6

    参考Centos7编译安装apache 2.4.6

    2.2. /etc/httpd/httpd.conf配置

    其余配置默认即可
    Listen 0.0.0.0:80
    LoadModule authn_file_module modules/mod_authn_file.so
    LoadModule authn_core_module modules/mod_authn_core.so
    LoadModule authz_host_module modules/mod_authz_host.so
    LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
    LoadModule authz_user_module modules/mod_authz_user.so
    LoadModule authz_core_module modules/mod_authz_core.so
    LoadModule access_compat_module modules/mod_access_compat.so
    LoadModule auth_basic_module modules/mod_auth_basic.so
    LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
    LoadModule reqtimeout_module modules/mod_reqtimeout.so
    LoadModule filter_module modules/mod_filter.so
    LoadModule mime_module modules/mod_mime.so
    LoadModule log_config_module modules/mod_log_config.so
    LoadModule env_module modules/mod_env.so
    LoadModule headers_module modules/mod_headers.so
    LoadModule setenvif_module modules/mod_setenvif.so
    LoadModule version_module modules/mod_version.so
    LoadModule ssl_module modules/mod_ssl.so
    LoadModule mpm_worker_module modules/mod_mpm_worker.so
    LoadModule unixd_module modules/mod_unixd.so
    LoadModule status_module modules/mod_status.so
    LoadModule autoindex_module modules/mod_autoindex.so
    LoadModule dir_module modules/mod_dir.so
    LoadModule alias_module modules/mod_alias.so
    <IfModule unixd_module>
    </IfModule>
    <VirtualHost 10.207.51.53:80>
        ServerName www1.stuX.com
        DocumentRoot "/web/vhosts/www1"
        <Location /server-status>
            SetHandler server-status
            AuthType Basic
            AuthName "Admin Area, Please enter username and passwd"
            AuthUserFile "/web/vhosts/www1-passwd"    
            Require user Allen Barry
        </Location>
        <Directory /web/vhosts/www1>
            Options Indexes
            AllowOverride None
            <Requireall>
            Require not ip 192.168.1.0/24
            Require all granted
            </Requireall>
        </Directory>
        ErrorLog /var/log/httpd/www1/error_log
        CustomLog /var/log/httpd/www1/access_log combined
    </VirtualHost>
    <IfModule dir_module>
        DirectoryIndex index.html
    </IfModule>
    LogLevel warn
    <IfModule log_config_module>
        LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined
        LogFormat "%h %l %u %t "%r" %>s %b" common
        <IfModule logio_module>
          LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i" %I %O" combinedio
        </IfModule>
        CustomLog "logs/access_log" common
    </IfModule>
    
    Include /etc/httpd/extra/httpd-mpm.conf
    Include /etc/httpd/extra/httpd-ssl.conf
    

    2.3. /etc/httpd/extra/httpd-ssl.conf配置

    其余配置默认即可
    Listen 443 https
    SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
    <VirtualHost _default_:443>
    DocumentRoot "/web/vhosts/www2"
    ServerName www2.stuX.com:443
    ErrorLog "/var/log/httpd/www2/ssl/error_log"
    TransferLog "/var/log/httpd/www2/ssl/access_log"
    <Directory /web/vhosts/www2>
            Options Indexes
            AllowOverride None
            Require all granted
            </Directory>
    SSLEngine on
    SSLCertificateFile "/web/vhosts/certificate/stuX.httpd.crt"
    SSLCertificateKeyFile "/etc/pki/CA/private/private.key"
    CustomLog "/var/log/httpd/www2/ssl/access_log" 
              "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x "%r" %b"
    </VirtualHost>  
    

    2.4. 测试效果




    3. 使用apache 2.2.27实现

    3.1. 编译安装apache 2.2.27

    参考Centos7编译安装apache 2.2.27

    3.2. /etc/httpd/httpd.conf配置

    其余配置默认即可
    Listen 0.0.0.0:80
    LoadModule authn_file_module modules/mod_authn_file.so
    LoadModule authn_dbm_module modules/mod_authn_dbm.so
    LoadModule authn_anon_module modules/mod_authn_anon.so
    LoadModule authn_dbd_module modules/mod_authn_dbd.so
    LoadModule authn_default_module modules/mod_authn_default.so
    LoadModule authz_host_module modules/mod_authz_host.so
    LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
    LoadModule authz_user_module modules/mod_authz_user.so
    LoadModule authz_dbm_module modules/mod_authz_dbm.so
    LoadModule authz_owner_module modules/mod_authz_owner.so
    LoadModule authz_default_module modules/mod_authz_default.so
    LoadModule auth_basic_module modules/mod_auth_basic.so
    LoadModule auth_digest_module modules/mod_auth_digest.so
    LoadModule dbd_module modules/mod_dbd.so
    LoadModule dumpio_module modules/mod_dumpio.so
    LoadModule reqtimeout_module modules/mod_reqtimeout.so
    LoadModule ext_filter_module modules/mod_ext_filter.so
    LoadModule include_module modules/mod_include.so
    LoadModule filter_module modules/mod_filter.so
    LoadModule substitute_module modules/mod_substitute.so
    LoadModule deflate_module modules/mod_deflate.so
    LoadModule log_config_module modules/mod_log_config.so
    LoadModule logio_module modules/mod_logio.so
    LoadModule env_module modules/mod_env.so
    LoadModule expires_module modules/mod_expires.so
    LoadModule headers_module modules/mod_headers.so
    LoadModule ident_module modules/mod_ident.so
    LoadModule setenvif_module modules/mod_setenvif.so
    LoadModule version_module modules/mod_version.so
    LoadModule ssl_module modules/mod_ssl.so
    LoadModule mime_module modules/mod_mime.so
    LoadModule dav_module modules/mod_dav.so
    LoadModule status_module modules/mod_status.so
    LoadModule autoindex_module modules/mod_autoindex.so
    LoadModule asis_module modules/mod_asis.so
    LoadModule info_module modules/mod_info.so
    LoadModule suexec_module modules/mod_suexec.so
    LoadModule cgi_module modules/mod_cgi.so
    LoadModule dav_fs_module modules/mod_dav_fs.so
    LoadModule vhost_alias_module modules/mod_vhost_alias.so
    LoadModule negotiation_module modules/mod_negotiation.so
    LoadModule dir_module modules/mod_dir.so
    LoadModule imagemap_module modules/mod_imagemap.so
    LoadModule actions_module modules/mod_actions.so
    LoadModule speling_module modules/mod_speling.so
    LoadModule userdir_module modules/mod_userdir.so
    LoadModule alias_module modules/mod_alias.so
    LoadModule rewrite_module modules/mod_rewrite.so
    <IfModule dir_module>
        DirectoryIndex index.html
    </IfModule>
    Include /etc/httpd/extra/httpd-ssl.conf
    <VirtualHost 10.207.51.53:80>
    DocumentRoot "/web/vhosts/www1"
    Servername "www1.stuX.com"
    ErrorLog "/var/log/httpd/www1/error_log"
    CustomLog "/var/log/httpd/www1/access_log" combined
    <Directory "/web/vhosts/www1">
    Order deny,allow
    Deny from 192.168.1.0/24
    </Directory>
    <Location /server-status>
    SetHandler server-status
    AuthType Basic
    AuthName "Admin Area, Please enter username and paswd"
    AuthUserFile "/web/vhosts/passwd"
    Require valid-user
    </Location>
    </VirtualHost>
    

    3.3. /etc/httpd/extra/httpd-ssl.conf配置

    其余配置默认即可
    Listen 0.0.0.0:443 https
    <VirtualHost _default_:443>
    DocumentRoot "/web/vhosts/www2"
    ServerName www2.stuX.com:443
    ErrorLog "/var/log/httpd/www2/error_log"
    TransferLog "/var/log/httpd/www2/access_log"
    SSLEngine on
    SSLCertificateKeyFile "/etc/pki/CA/private/private.key"        ##没有重新生成秘钥,和配置httpd2.4.6时,使用一样的私钥;
    SSLCertificateFile "/web/vhosts/certificate/stuX.httpd.crt"        ##没有重新申请,和配置httpd2.4.6时,使用一样的证书;
    <Directory "/web/vhosts/www2/">
    	Order allow,deny
    	Allow from all
    </Directory>
    CustomLog "/var/log/httpd/www2/access_log" 
              "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x "%r" %b"
    </VirtualHost>    
    

    3.4. 测试效果




  • 相关阅读:
    Vsftpd 3.0.2 正式版发布
    Putdb WebBuilder 6.5 正式版本发布
    SoaBox 1.1.6 GA 发布,SOA 模拟环境
    pynag 0.4.6 发布,Nagios配置和插件管理
    Percona Playback 0.4,MySQL 负荷回放工具
    xombrero 1.3.1 发布,微型 Web 浏览器
    Hypertable 0.9.6.4 发布,分布式数据库
    libmemcached 1.0.11 发布
    CryptoHeaven 3.7 发布,安全邮件解决方案
    Android Activity生命周期
  • 原文地址:https://www.cnblogs.com/jzbgltb/p/10051124.html
Copyright © 2011-2022 走看看