1. 需求描述

  1. 1、建立httpd服务,要求:
  2. (1) 提供两个基于名称的虚拟主机:
  3. www1.stuX.com,页面文件目录为/web/vhosts/www1;错误日志为/var/log/httpd/www1/error_log,访问日志为/var/log/httpd/www1/access_log
  4. www2.stuX.com,页面文件目录为/web/vhosts/www2;错误日志为/var/log/httpd/www2/error_log,访问日志为/var/log/httpd/www2/access_log
  5. (2) 通过www1.stuX.com/server-status输出其状态信息,且要求只允许提供账号的用户访问;
  6. (3) www1不允许192.168.1.0/24网络中的主机访问;
  7. 2、为上面的第2个虚拟主机提供https服务,使得用户可以通过https安全的访问此web站点;
  8. (1) 要求使用证书认证,证书中要求使用国家(CN),州(Beijing),城市(Beijing),组织为(jzbg);
  9. (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配置

  1. 其余配置默认即可
  2. Listen 0.0.0.0:80
  3. LoadModule authn_file_module modules/mod_authn_file.so
  4. LoadModule authn_core_module modules/mod_authn_core.so
  5. LoadModule authz_host_module modules/mod_authz_host.so
  6. LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
  7. LoadModule authz_user_module modules/mod_authz_user.so
  8. LoadModule authz_core_module modules/mod_authz_core.so
  9. LoadModule access_compat_module modules/mod_access_compat.so
  10. LoadModule auth_basic_module modules/mod_auth_basic.so
  11. LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
  12. LoadModule reqtimeout_module modules/mod_reqtimeout.so
  13. LoadModule filter_module modules/mod_filter.so
  14. LoadModule mime_module modules/mod_mime.so
  15. LoadModule log_config_module modules/mod_log_config.so
  16. LoadModule env_module modules/mod_env.so
  17. LoadModule headers_module modules/mod_headers.so
  18. LoadModule setenvif_module modules/mod_setenvif.so
  19. LoadModule version_module modules/mod_version.so
  20. LoadModule ssl_module modules/mod_ssl.so
  21. LoadModule mpm_worker_module modules/mod_mpm_worker.so
  22. LoadModule unixd_module modules/mod_unixd.so
  23. LoadModule status_module modules/mod_status.so
  24. LoadModule autoindex_module modules/mod_autoindex.so
  25. LoadModule dir_module modules/mod_dir.so
  26. LoadModule alias_module modules/mod_alias.so
  27. <IfModule unixd_module>
  28. </IfModule>
  29. <VirtualHost 10.207.51.53:80>
  30. ServerName www1.stuX.com
  31. DocumentRoot "/web/vhosts/www1"
  32. <Location /server-status>
  33. SetHandler server-status
  34. AuthType Basic
  35. AuthName "Admin Area, Please enter username and passwd"
  36. AuthUserFile "/web/vhosts/www1-passwd"
  37. Require user Allen Barry
  38. </Location>
  39. <Directory /web/vhosts/www1>
  40. Options Indexes
  41. AllowOverride None
  42. <Requireall>
  43. Require not ip 192.168.1.0/24
  44. Require all granted
  45. </Requireall>
  46. </Directory>
  47. ErrorLog /var/log/httpd/www1/error_log
  48. CustomLog /var/log/httpd/www1/access_log combined
  49. </VirtualHost>
  50. <IfModule dir_module>
  51. DirectoryIndex index.html
  52. </IfModule>
  53. LogLevel warn
  54. <IfModule log_config_module>
  55. LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
  56. LogFormat "%h %l %u %t \"%r\" %>s %b" common
  57. <IfModule logio_module>
  58. LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
  59. </IfModule>
  60. CustomLog "logs/access_log" common
  61. </IfModule>
  62. Include /etc/httpd/extra/httpd-mpm.conf
  63. Include /etc/httpd/extra/httpd-ssl.conf

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

  1. 其余配置默认即可
  2. Listen 443 https
  3. SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
  4. <VirtualHost _default_:443>
  5. DocumentRoot "/web/vhosts/www2"
  6. ServerName www2.stuX.com:443
  7. ErrorLog "/var/log/httpd/www2/ssl/error_log"
  8. TransferLog "/var/log/httpd/www2/ssl/access_log"
  9. <Directory /web/vhosts/www2>
  10. Options Indexes
  11. AllowOverride None
  12. Require all granted
  13. </Directory>
  14. SSLEngine on
  15. SSLCertificateFile "/web/vhosts/certificate/stuX.httpd.crt"
  16. SSLCertificateKeyFile "/etc/pki/CA/private/private.key"
  17. CustomLog "/var/log/httpd/www2/ssl/access_log" \
  18. "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
  19. </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配置

  1. 其余配置默认即可
  2. Listen 0.0.0.0:80
  3. LoadModule authn_file_module modules/mod_authn_file.so
  4. LoadModule authn_dbm_module modules/mod_authn_dbm.so
  5. LoadModule authn_anon_module modules/mod_authn_anon.so
  6. LoadModule authn_dbd_module modules/mod_authn_dbd.so
  7. LoadModule authn_default_module modules/mod_authn_default.so
  8. LoadModule authz_host_module modules/mod_authz_host.so
  9. LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
  10. LoadModule authz_user_module modules/mod_authz_user.so
  11. LoadModule authz_dbm_module modules/mod_authz_dbm.so
  12. LoadModule authz_owner_module modules/mod_authz_owner.so
  13. LoadModule authz_default_module modules/mod_authz_default.so
  14. LoadModule auth_basic_module modules/mod_auth_basic.so
  15. LoadModule auth_digest_module modules/mod_auth_digest.so
  16. LoadModule dbd_module modules/mod_dbd.so
  17. LoadModule dumpio_module modules/mod_dumpio.so
  18. LoadModule reqtimeout_module modules/mod_reqtimeout.so
  19. LoadModule ext_filter_module modules/mod_ext_filter.so
  20. LoadModule include_module modules/mod_include.so
  21. LoadModule filter_module modules/mod_filter.so
  22. LoadModule substitute_module modules/mod_substitute.so
  23. LoadModule deflate_module modules/mod_deflate.so
  24. LoadModule log_config_module modules/mod_log_config.so
  25. LoadModule logio_module modules/mod_logio.so
  26. LoadModule env_module modules/mod_env.so
  27. LoadModule expires_module modules/mod_expires.so
  28. LoadModule headers_module modules/mod_headers.so
  29. LoadModule ident_module modules/mod_ident.so
  30. LoadModule setenvif_module modules/mod_setenvif.so
  31. LoadModule version_module modules/mod_version.so
  32. LoadModule ssl_module modules/mod_ssl.so
  33. LoadModule mime_module modules/mod_mime.so
  34. LoadModule dav_module modules/mod_dav.so
  35. LoadModule status_module modules/mod_status.so
  36. LoadModule autoindex_module modules/mod_autoindex.so
  37. LoadModule asis_module modules/mod_asis.so
  38. LoadModule info_module modules/mod_info.so
  39. LoadModule suexec_module modules/mod_suexec.so
  40. LoadModule cgi_module modules/mod_cgi.so
  41. LoadModule dav_fs_module modules/mod_dav_fs.so
  42. LoadModule vhost_alias_module modules/mod_vhost_alias.so
  43. LoadModule negotiation_module modules/mod_negotiation.so
  44. LoadModule dir_module modules/mod_dir.so
  45. LoadModule imagemap_module modules/mod_imagemap.so
  46. LoadModule actions_module modules/mod_actions.so
  47. LoadModule speling_module modules/mod_speling.so
  48. LoadModule userdir_module modules/mod_userdir.so
  49. LoadModule alias_module modules/mod_alias.so
  50. LoadModule rewrite_module modules/mod_rewrite.so
  51. <IfModule dir_module>
  52. DirectoryIndex index.html
  53. </IfModule>
  54. Include /etc/httpd/extra/httpd-ssl.conf
  55. <VirtualHost 10.207.51.53:80>
  56. DocumentRoot "/web/vhosts/www1"
  57. Servername "www1.stuX.com"
  58. ErrorLog "/var/log/httpd/www1/error_log"
  59. CustomLog "/var/log/httpd/www1/access_log" combined
  60. <Directory "/web/vhosts/www1">
  61. Order deny,allow
  62. Deny from 192.168.1.0/24
  63. </Directory>
  64. <Location /server-status>
  65. SetHandler server-status
  66. AuthType Basic
  67. AuthName "Admin Area, Please enter username and paswd"
  68. AuthUserFile "/web/vhosts/passwd"
  69. Require valid-user
  70. </Location>
  71. </VirtualHost>

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

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

3.4. 测试效果







HTTP实验:分别使用httpd-2.2和httpd-2.4实现的更多相关文章

  1. Httpd服务入门知识-Httpd服务常见配置案例之虚拟主机

    Httpd服务入门知识-Httpd服务常见配置案例之虚拟主机 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.虚拟主机实现方案 1>.Apache httpd 有三种实现虚 ...

  2. HTTPD之二————HTTPD服务详解————httpd的配置文件常见设置

    HTTPD之二----HTTPD服务详解----httpd的配置文件常见设置 HTTP服务器应用 http服务器程序 httpd apache nginx lighttpd 应用程序服务器 IIS,a ...

  3. Httpd服务入门知识-Httpd服务常见配置案例之Apache的工作做状态status页面

    Httpd服务入门知识-Httpd服务常见配置案例之Apache的工作做状态status页面 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.status功能概述 status页 ...

  4. Httpd服务入门知识-Httpd服务常见配置案例之ServerSignature指令选项

    Httpd服务入门知识-Httpd服务常见配置案例之ServerSignature指令选项 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.ServerSignature指令概述 ...

  5. Httpd服务入门知识-Httpd服务常见配置案例之实现用户家目录的http共享

    Httpd服务入门知识-Httpd服务常见配置案例之实现用户家目录的http共享 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.实现用户家目录的http共享前提 在配置家目录共 ...

  6. Httpd服务入门知识-Httpd服务常见配置案例之定义路径别名

    Httpd服务入门知识-Httpd服务常见配置案例之定义路径别名 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   一.创建测试数据 [root@node101.yinzhengj ...

  7. Httpd服务入门知识-Httpd服务常见配置案例之设定默认字符集

    Httpd服务入门知识-Httpd服务常见配置案例之设定默认字符集 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看生产环境中使用的字符集案例 1>.查看腾讯设置的默认 ...

  8. Httpd服务入门知识-Httpd服务常见配置案例之日志设定

    Httpd服务入门知识-Httpd服务常见配置案例之日志设定 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.日志类型 [root@node101.yinzhengjie.org ...

  9. Httpd服务入门知识-Httpd服务常见配置案例之基于客户端来源地址实现访问控制

    Httpd服务入门知识-Httpd服务常见配置案例之基于客户端来源地址实现访问控制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Options  1>.OPTIONS指 ...

  10. Httpd服务入门知识-Httpd服务常见配置案例之基于用户账号实现访问控制

    Httpd服务入门知识-Httpd服务常见配置案例之基于用户账号实现访问控制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.基于用户的访问控制概述 认证质询: WWW-Auth ...

随机推荐

  1. bzoj 3503: [Cqoi2014]和谐矩阵【高斯消元】

    如果确定了第一行,那么可以推出来整个矩阵,矩阵合法的条件是n+1行全是0 所以推出来n+1行和1行的关系,然后用异或高斯消元来解即可 #include<iostream> #include ...

  2. bzoj 1178: [Apio2009]CONVENTION会议中心(少见做法掉落!)【贪心+二分】

    数组若干+手动二分一个的算法,bzoj rank8 ===============================废话分割线=================================== 我我 ...

  3. [Swift]编码拾遗

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs ...

  4. 【Maven】CentOS7使用Nexus3搭建maven私服

    一.简介 Maven是一个采用纯Java编写的开源项目管理工具, Maven采用了一种被称之为Project Object Model(POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做PO ...

  5. Data Center Maintenance CodeForces - 950E

    http://codeforces.com/contest/950/problem/E 贴一份板子 #include<cstdio> #include<vector> #inc ...

  6. break跳出嵌套循环体

    package com.wh.Object; public class Test { public static void main(String[] args) { // TODO Auto-gen ...

  7. 转 ORACLE-016:ora-01720 授权选项对于'xxxx'不存在

    报错的情形如下, A用户:视图V_A B用户:视图V_B,并且用到了V_A C用户:需要用V_B, 授权过程, A用户下: grant select on V_A to B B用户下: grant s ...

  8. 转】用Mahout构建职位推荐引擎

    原博文出自于: http://blog.fens.me/hadoop-mahout-recommend-job/ 感谢! 用Mahout构建职位推荐引擎 Hadoop家族系列文章,主要介绍Hadoop ...

  9. sdut2355Binary Search Heap Construction

    链接 捣鼓了一下午..按堆建树 写完交 返回TLE..数据不大 感觉不会超了 无奈拿了数据来看什么奇葩数据会超 发现数据跟我输出不一样 看了好久才明白理解错题意了 给出的字符串有两个标签 按前一个来建 ...

  10. 升级 Cocoapods 到1.2.0指定版本,降低版本及卸载

    =====================升级版本=================== CocoaPods 1.1.0+ is required to build SnapKit 3.0.0+. 在 ...