专栏首页用户7721898的专栏手把手教你,嘴对嘴传达----Apache的访问控制

手把手教你,嘴对嘴传达----Apache的访问控制

一、Apache连接保持

1、为什么要保持连接

HTTP协议是基于TCP协议之上的,在进行HTTP连接之前,要先进行TCP连接,每个TCP连接都要进行三次握手与四次挥手。建立与关闭连接对于HTTP协议而言会消耗很多的内存与CPU资源。 解决办法是HTTP连接保持。就是尽量地保持客户端的连接,通过一个TCP连接传送多个HTTP请求响应,对于客户端可以提高50%以上的响应时间,对于服务器可以降低建立与关闭连接时的资源消耗。

2、保持连接的方式

Apache连接保持相关参数 KeepAlive 是否打开连接保持,OFF关闭,ON打开 KeepAliveTimeout 一次连接多次请求之间的最大间隔时间,两次请求超过该时间连接断开 MaxKeepAliveRequests 一次连接能够传输的最大请求数量

二、Apache访问控制

1、Apache访问控制概述

作用 控制对网站资源的访问 为特定的网站目录添加访问授权 常用访问控制方式 客户机地址限制 用户授权限制

2、基于客户端地址的访问控制

使用Require配置项实现访问控制,按先后顺序限制

可用,,,配置段中

Require配置项的常见语法

Require all granted
Require all denied
Require local
Require [not] host <主机名或域名列表>
Require [not] ip <IP地址或网段列表>
'//使用not禁止访问时要将其置于<RequireAll></RequireAll>容器中,并在容器中指定相对应的限制策略'

具体如下

[root@localhost ~]# cd /etc/httpd/conf
[root@localhost conf]# ls
httpd.conf  magic
[root@localhost conf]# mkdir abc
[root@localhost conf]# ls
abc  httpd.conf  magic
[root@localhost conf]# cd abc

[root@localhost abc]# vim vhost.conf
<VirtualHost *:80>
 ...省略内容
  <Directory "/var/www/html">
  Require not ip 192.168.100.100	'//表示不允许ip192.168.100.100访问'
  Require all granted    '这个是一定要有的  否则启动会报错'
  </Directory>
</VirtualHost>
...省略内容

3、用户授权限制–创建用户认证数据库

创建用户认证数据库

命令基本格式
'//htpasswd命令是httpd自带的'
htpasswd -c /etc/httpd/conf/abc webadmin '//为用户webadmin创建密码文件'
New password:'//输入密码'
Re-type new password:'//重复输入密码'
cat  /etc/httpd/conf/abc
webadmin:加密密码
[root@localhost abc]# htpasswd -c /etc/httpd/conf/aaa ddd
New password: 
Re-type new password: 
Adding password for user ddd
[root@localhost abc]# cat /etc/httpd/conf/aaa
ddd:$apr1$zwIklPGy$ZINaIkXsSq36oIk2lAiiJ1
    '//添加第二个用户'
[root@localhost abc]# htpasswd /etc/httpd/conf/aaa bbb
New password: 
Re-type new password: 
Adding password for user bbb
[root@localhost abc]# cat /etc/httpd/conf/aaa
ddd:$apr1$zwIklPGy$ZINaIkXsSq36oIk2lAiiJ1
bbb:$apr1$q7OdS8z1$ELGg2a1AhHP.QfXJXfQTQ1

4、用户授权限制–添加用户授权配置

配置基本格式

  <Directory "/var/www/html">
  AuthName "DocumentRoot"  '//受保护的领域名称'
  AuthType Basic		'//认证类型'
  AuthUserFile /etc/httpd/conf/qwe  '//用户认证账号文件'
  Require valid-user  '//要求通过认证才能访问'
  </Directory>
[root@localhost abc]# vim vhost.conf 
    ...省略内容
<VirtualHost 192.168.197.100:80>
  DocumentRoot "/var/www/html/ccc"
  ServerName www.ccc.com
  Errorlog "logs/www.ccc.com.error_log"
  Customlog "logs/www.ccc.com.custom_log" common
  <Directory "/var/www/html">
  AuthName "DocumentRoot"
  AuthType Basic
  AuthUserFile /etc/httpd/conf/aaa
  Require valid-user
  </Directory>
</VirtualHost>
...省略内容

5、验证

具体代码如下

 <VirtualHost 192.168.110.132:80>
  DocumentRoot "/var/www/html/shang"
   ServerName www.shang.com
  Errorlog "logs/www.shang.com.error_log"
  Customlog "logs/www.shang.com.custom_log" common
   <Directory> "/var/www/html">
   <RequireAll>
  Require not ip 192.168.110.100
  Require all granted
   </RequireAll>

     </Directory>
 </VirtualHost>

# <VirtualHost 192.168.110.200:80>
#   DocumentRoot "/var/www/html/zhen"
#   ServerName www.zhen.com
#  Errorlog "logs/www.zhen.com.error_log"
#  Customlog "logs/www.zhen.com.custom_log" common
#   <Directory> "/var/www/html">
#      Require all granted
#  </Directory>
#</VirtualHost>
<VirtualHost 192.168.110.200:80>
  DocumentRoot "/var/www/html/ccc"
  ServerName www.ccc.com
  Errorlog "logs/www.ccc.com.error_log"
  Customlog "logs/www.ccc.com.custom_log" common
  <Directory "/var/www/html">
  AuthName "DocumentRoot"
  AuthType Basic
  AuthUserFile /etc/httpd/conf/aaa
  Require valid-user
  </Directory>
</VirtualHost>

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 手把手教你,嘴对嘴传达------Apache(安全优化防盗链、隐藏版本信息)

    防盗链就是防止别人的网站代码里面盗用服务器的图片,文件,视频等相关资源 如果别人盗用网站的这些静态资源,明显的是会增大服务器的带宽压力 作为网站的维护人员,...

    不吃小白菜
  • 2020年了 你还不懂LNMP与LAMP嘛?两分钟带你深入了解两者的区别~~

    lamp 的全称是linux + apache + mysql +php 使用的是Apache,Apache是世界是用排名第一的Web服务器软件,其几乎可以在...

    不吃小白菜
  • 这就是你日日夜夜想要的docker!!!---------TLS加密远程连接Docker

    作为一款应用 Docker 本身实现上会有代码缺陷。CVE官方记录 Docker 历史版本共有超过20项漏洞。 黑客常用的攻击手段主要有代码执行、权限提升、信...

    不吃小白菜
  • CentOS设置精准时间的方法

    本文主要讲述如何在CentOS发行版中快速获取准确的服务器时间。通常情况下,如果您用户是将CentOS安装在桌面环境中,那么可以通过GUI的“启用网络时间协议”...

    砸漏
  • 使用Apache的Proxy模块实现对被代理网站的访问

    最近有个需求,原本一个动态的站点,有些页面要静态化。但是静态化的文件又不希望和动态程序放在一起。并且URL也不希望发生变化,于是考虑使用Rewrite来实现。下...

    大江小浪
  • SmtpJS发送邮件教程

    SmtpJS是一款通过前端js代码发送邮件的插件,导入插件后,只需简单几行代码就能实现邮件发送。当然了,由于是前端,其安全性自然比后端javamail封装等弱一...

    唔仄lo咚锵
  • 树莓派折腾记:安装和配置Syncthing

    美丽应用
  • Apache 配置

    本文简要介绍了 Apache 配置 https 、子域名。 如果启动出现错误,搜索一下错误信息,一般启用某些模块就行了。 https 修改主配置文件 /usr/...

    康怀帅
  • 手把手教你,嘴对嘴传达------Apache(安全优化防盗链、隐藏版本信息)

    防盗链就是防止别人的网站代码里面盗用服务器的图片,文件,视频等相关资源 如果别人盗用网站的这些静态资源,明显的是会增大服务器的带宽压力 作为网站的维护人员,...

    不吃小白菜
  • 当推荐系统遇到物联网...

    物联网(The Internet of Things,简称IOT),从英文名中可以看出是对互联网(Internet)的扩充,意为互联网中的所有事务,涉及用户、内...

    张小磊

扫码关注云+社区

领取腾讯云代金券