2-Apache服务的访问控制

目录

  • 2-Apache服务的访问控制

    • 1.开启基本认证(用户密码)
    • 2.网络访问控制

2-Apache服务的访问控制

1.开启基本认证(用户密码)

查看Apache文档-->认证
AuthType Basic
AuthName "Restricted Files"
#(下面这一行是可选的)
AuthBasicProvider file
AuthUserFile /usr/local/apache2/passwd/passwords
Require user rbowen

需求1:单个用户访问

1.创建密码文件的命令htpasswd
[[email protected] conf]# which htpasswd
/usr/bin/htpasswd
[[email protected] conf]# rpm -qf /usr/bin/htpasswd
httpd-tools-2.2.15-29.el6.centos.x86_64
[[email protected] conf]# htpasswd --help
Usage:
    htpasswd [-cmdpsD] passwordfile username
    htpasswd -b[cmdpsD] passwordfile username password

    htpasswd -n[mdps] username
    htpasswd -nb[mdps] username password
 -c  Create a new file.
 -n  Don't update file; display results on stdout.
 -m  Force MD5 encryption of the password.  MD5加密
 -d  Force CRYPT encryption of the password (default).
 -p  Do not encrypt the password (plaintext).
 -s  Force SHA encryption of the password.
 -b  Use the password from the command line rather than prompting for it.//非交互式
 -D  Delete the specified user.
On Windows, NetWare and TPF systems the '-m' flag is used by default.
On all other systems, the '-p' flag will probably not work.
2.创建harry(交互设密)和jack(命令行设密)
[[email protected] conf]# htpasswd -cm /etc/httpd/conf/.passfile harry
New password:
Re-type new password:
Adding password for user harry
[[email protected] conf]# cat .passfile
harry:$apr1$yBmJw2lZ$5gOLS4WIffoYYUqbHb8j31
[[email protected] conf]# htpasswd -mb /etc/httpd/conf/.passfile jack 123 //非交互
Adding password for user jack
[[email protected] conf]# cat .passfile
harry:$apr1$yBmJw2lZ$5gOLS4WIffoYYUqbHb8j31
jack:$apr1$2mw51z8c$lvynCFG64cAMprCVqzDcD/
3.修改httpd.conf开启基本认证
vim /etc/httpd/conf/httpd.conf
<Directory "/webserver/">

    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all

    AuthType Basic
    AuthName "Input your name and password:"    //认证信息,可以随便写
    AuthBasicProvider file      //指定文件
    AuthUserFile /etc/httpd/conf/.passfile      //创建的密码文件
    Require user harry jack     //可用用户
</Directory>
重启服务
测试验证

总结:1.开启用户名密码认证有两点注意
1)需要知道网站的数据根目录  /webserver
2)将认证信息加入到<Directory "/webserver">......</Directory>
3)创建一个密码文件来保存用户名和密码 .passfile

需求2:允许多个用户访问

1.创建一个组文件保存所有用户(将很多用户加入到一个组里)
vim /etc/httpd/conf/groups
admin:user01 user02 user03
2.把用户的密码加入密码文件中
htpasswd -mb /etc/httpd/conf/.passfile user01 123
htpasswd -mb /etc/httpd/conf/.passfile user02 123
htpasswd -mb /etc/httpd/conf/.passfile user03 123

3.修改主配置文件
AuthType Basic
AuthName "请输入用户名和密码:"
AuthUserFile /etc/httpd/conf/.passfile
AuthGroupFile /etc/httpd/conf/groups
Require group admin

<Directory "/webserver/">

    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all

    AuthType Basic
    AuthName "Input your name and password:"
    AuthBasicProvider file
    AuthUserFile /etc/httpd/conf/.passfile
    AuthGroupFile /etc/httpd/conf/groups
    Require group admin
    #Require user harry jack        //不注释掉的话,admin组不能访问
    Require valid-user harry jack   //harry/jack 和admin组内成员都可以访问
</Directory>
4.重启服务
5.测试验证

2.网络访问控制

RHEL6:http 2.2版本
Order allow,deny    如果allow和deny冲突,deny为准
Order deny,allow    如果allow和deny冲突,allow为准
1.禁止部分IP不能访问网站
Order allow,deny
Allow from all
Deny from 192.168.0.254 10.1.1.5
2.针对某个网站
Order allow,deny
Allow from all
Deny from 192.168.0.0/255.255.255.0
3.针对域名
Order allow,deny
Allow from all
Deny from *.itcast.cc
4.拒绝大部分,允许某个IP
Order deny,allow
Deny from all
Allow from 192.168.0.254

需求:只拒绝10.1.1.3主机访问网站
Order allow,deny
Allow from all
Deny from 10.1.1.3
重启服务,测试验证

  • HTTP通过状态码来标记返回信息,以下为常见的状态码:
常用状态码分类:
200:成功,请求的所有数据通过响应报文的entity-body部分发送:OK
(将上面的配置文件修改的部分注释)测试一下
[[email protected] ~]# wget http://10.1.1.2
--2019-04-28 17:47:20--  http://10.1.1.2/
Connecting to 10.1.1.2:80... connected.
HTTP request sent, awaiting response... 200 OK  //状态码200
Length: 25 [text/html]
Saving to: “index.html”

100%[==================================>] 25          --.-K/s   in 0s      

2019-04-28 17:47:20 (5.73 MB/s) - “index.html” saved [25/25]

301:请求的URL指向的资源已经被删除,但是在响应报文中通过首部Location指明了资源现在所处的新位置:Moved Permanently
302:与301相似,但是在响应报文中通过Location指明资源现在所处的临时新位置:Found
304:客户端发出条件式请求,但是服务器上的资源未发送改变,通过响应此响应状态码通知客户端,Not Modified
401:需要客户端输入账户和密码才能访问资源:Unauthorized
403:请求被禁止:Forbidden
404:服务器无法找到客户端请求的资源:Not Found
500:服务器内部错误:Internal Server Error
502:代理服务器从后端服务器收到了一条伪响应:Bad Gateway

原文地址:https://www.cnblogs.com/liuwei-xd/p/11022437.html

时间: 2024-08-06 14:52:43

2-Apache服务的访问控制的相关文章

apache服务的访问控制

为了更好的控制对网站资源的访问,可以为特定的网站目录添加访问授权.配置客户机地址限制,用户授权限制,这两种访问控制方式都应用于httpd.conf配置文件中的目录区域<Directory 目录位置>......</Directory> 范围内 1.客户机地址限制 通过配置项 Order,Deny from ,Allow from ,可以根据客户机的主机名或IP地址来决定是否允许客户端访问.其中Order 用于设置限制顺序,Deny from 和 Allow from 用于设置具体限

部署Apache网站服务以及访问控制的实现

WebServer常用的有Apache.IIS.nginx.Tomcat Apache HTTP服务器是一个模块化的服务器,可以运行在几乎所有广泛使用的计算机平台上.其属于应用服务器.Apache支持支持模块多,性能稳定,Apache本身是静态解析,适合静态HTML.图片等,但可以通过扩展脚本.模块等支持动态页面等. IIS是一种web服务组件,其中包括Web服务器.FTP服务器.NNTP服务器和SMTP服务器,分别用于网页浏览.文件传输.新闻服务和邮件发送等方面,它使得在网络上发送信息成为一件

APache网站服务配置访问控制和构建虚拟主机

博文目录一.Httpd服务的访问控制1.客户机地址限制2.用户授权限制二.构建虚拟Web主机三.配置基于域名的虚拟主机四.配置基于IP地址的虚拟主机五.配置基于端口号的虚拟主机 一.Httpd服务的访问控制 为了更好地控制对网站资源的访问.可以为特定的网站目录添加访问授权.主要分为客户机地址限制和用户授权限制,这两种访问控制方式都应用于httpd.conf配置文件中的目录区域范围内. 1.客户机地址限制 通过Require配置项,可以根据主机的主机名或IP地址来决定是否允许客户端访问.在http

apache服务

##########################apache的安装##########################yum install httpd -y                          ###安装apache服务systemctl start httpd                         ###开启apache服务systemctl stop firewalld                      ###关闭防火墙 ################

第10章 使用Apache服务部署静态网站

章节简述: 本章节中通过对比目前热门的网站服务程序来说明Apache服务程序的优势,并新增主机空间选购技巧小节. 了解SELinux服务的3种工作模式,小心谨慎的使用semanage命令和setsebool命令配置SELinux安全上下文和服务监管策略. 学习Apache网站服务程序的基本部署.个人用户主页功能以及基于IP地址.主机名(域名).端口号的虚拟主机功能. 本章目录结构 10.1 网站服务程序 10.2 安装Apache服务程序 10.3 配置服务文件参数 10.4 强制访问控制安全子

Apache的IP访问控制

Apache防盗链主要是防止本网站的链接被别人盗用 使用Apache访问控制,禁用来源IP访问 1.修改网站的虚拟主机配置文件 从主配置文件中拷贝模板: [[email protected] logs]# vim /usr/local/apache2/conf/httpd.conf [[email protected] logs]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf <VirtualHost *:80> ........ &

Apache服务搭建

Apache服务器 1: www: world  wide  web      万维网 http 协议:    超文本传输协议 HTML语言: 超文本标识语言 index.html 2: URL:统一资源定位: 协议+域名:端口+网页文件名 http://www.baidu.com:80/phpmyadmin/index.php 3:搭建www的服务器的方法 windows: IIS  +  asp  +  SQLserver IIS: Internet  Information  server

Apache服务深入解析

一.Apache服务的安装.服务管理及相关文件!讲解Linux下Apache服务的安装.服务管理.配置文件及其他相关文件等信息.CentOS 6.3 ( RHEL 6)YUM中集成的是apache 2.2.15(httpd 2.2.15)使以下命令可以安装apache服务器:yum install -y httpd其他apache相关软件包:• httpd-devel - 开发相关头文件• httpd-tool - apache相关工具,如ab.htpasswd• httpd-manual -

Linux的Apache 服务

 一.apache的安装yum install httpd -y                   安装服务systemctl start httpd                 启动服务systemctl stop firewalld           关闭防火墙systemctl enable httpd            开机自动启动systemctl disable firewalld     开机不启动防火墙 二.apache相关配置信息 1.apache的默认发布目录文件

linux服务篇(九)Apache服务

HTTP概述 WWW的目的就是使信息更易于获取,而不管它们的地理位置在哪里.当使用超文本作为WWW文档的标准格式后,人们开发了可以快速获取这些超文本文档的协议-HTTP协议,即超文本传输协议. HTTP是应用级的协议,主要用于分布式.协作的信息系统.HTTP协议是通用的.无状态的,其系统的建设和传输与数据无关.HTTP也是面向对象的协议,可以用于各种任务,包括名字服务.分布式对象管理.请求方法的扩展.命令等. 在Internet上,HTTP通信往往发生在TCP/IP连接上,其默认的端口为80,也