首页 > 其他分享 >http认证测试应用服务

http认证测试应用服务

时间:2024-02-27 11:25:35浏览次数:27  
标签:httpd http auth 认证 应用服务 basic realm digest

一、Apache支持basic认证

1. 确定Apache服务器是否有这2种模块

服务器装的apche一般会默认带这两个模块:auth_basic_module modules/mod_auth_basic.so、auth_digest_module modules/mod_auth_digest.so

在http.conf中看能否找到 LoadModule auth_digest_module modules/mod_auth_digest.so

LoadModule auth_digest_module modules/mod_auth_digest.so,把digest注释掉

2.增加basic认证的用户的密码

htpasswd -c /etc/httpd/webpasswd qinken

第一次需加-c选项

3.在httpd.conf中找到 DocumentRoot,并在下面填上

<Directory /var/www/html> //html存放路径

AuthType Basic //示认证方式,这里是 basic 认证

AuthName Hello //表示弹出框给出的提示文字,可随机填写

AuthUserFile "/etc/httpd/webpasswd" //basic表示认证用户文件的路径

require user qinken //定义哪些用户或组才能被授权访问,valid-user文件所有用户都可以访问

</Directory>

4.可以通过浏览器来访问,查看是否配置正确

  1. basic认证的过程

当请求的资源需要 BASIC 认证时,服务器会随状态码 401 Authorization Required,返回 WWW-Authenticate 首部字段(响应头)的响应。该字段内包含认证的方式(BASIC)及Request-URI 安全域字符串(realm)

接收到状态码 401 的客户端为了通过 BASIC 认证,需要将用户ID及密码发送给服务器。发送的字符串内容是由用户名 ID 和密码构成,两者中间以冒号(:)连接后,再经过 Base64 编码处理。

注:测试仪在发送请求的时候已经带上了用户和密码,所以不存在返回401的情况

  1. Apache支持digest认证
  2. 在httpd.conf文件中支持digest模块

LoadModule auth_digest_module modules/mod_auth_digest.so

注 要把basic认证的模块注释掉

2.增加digest认证的用户的密码

htdigest -c digest realm qinken

在当前目录下增加一个digest的文件,里面用户是qinken

3.在httpd.conf修改配置

<Directory /var/www/html>

Options Indexes FollowSymLinks

AuthType Digest

AuthName realm

AuthUserFile "/etc/httpd/digest"

require user qinken

AllowOverride None

</Directory>

注:AuthName要与realm相同

  1. 修改后重启httpd服务

Systemctl restart httpd

  1. 可以通过浏览器或测试仪来访问是否配置成功

注:第一次请求时一定回401

  1. 交互过程

(1)请求需认证的资源时,服务器会随着状态码 401Authorization Required,返回带WWW-Authenticate 首部字段的响应。该字段内包含质问响应方式认证所需的临时质询码(随机数,nonce)。首部字段 WWW-Authenticate 内必须包含realm 和nonce 这两个字段的信息。

(2)接收到401状态码的客户端,返回的响应中包含 DIGEST 认证必须的首部字段 Authorization 信息。首部字段 Authorization 内必须包含 username、realm、nonce、uri 和response的字段信息。其中,realm 和 nonce 就是之前从服务器接收到的响应中的字段。

(3)接收到包含首部字段 Authorization 请求的服务器,会确认认证信息的正确性。认证通过后则返回包含 Request-URI 资源的响应。并且这时会在首部字段 Authentication-Info 写入一些认证成功的相关信息

标签:httpd,http,auth,认证,应用服务,basic,realm,digest
From: https://www.cnblogs.com/123456likun/p/18036478

相关文章

  • npm报错:request to https://registry.npm.taobao.org failed, reason certificate has
    一、报错问题:提示淘宝镜像过期二、错误提示已经告诉原因是淘宝镜像过期了!其实,早在2021年,淘宝就发文称,npm淘宝镜像已经从registry.npm.taobao.org切换到了registry.npmmirror.com。旧域名也将于2022年5月31日停止服务(不过,直到今天HTTPS证书到期才真正不能用了)三......
  • npm ERR! request to https://registry.npm.taobao.org/vue-router failed, reason: c
    npminstall报错了!看提示是证书到期,究其原因是淘宝镜像的地址换了。旧:https://registry.npm.taobao.org/新:https://registry.npmmirror.com/#清除缓存npmcacheclean--force#验证缓存是否清除干净npmverifycache#更改淘宝镜像npmconfigsetregistryhttps://r......
  • 禁止edge自动将http转换为https的设置
    1.输入edge://flags/#edge-automatic-https,将AutomaticHTTPS设置为disabled。 2.输入edge://settings/searchFilters,关闭“使用我键入的字符向我显示此设备上的历史记录、收藏夹和其他数据的建议”此功能变能够关闭自动跳转改功能。 ......
  • 利用正则与状态机解析HTTP请求报文,实现处理静态资源的请求
    要使用正则和状态机来解析HTTP请求报文,首先需要理解HTTP请求报文的基本结构。一个典型的HTTP请求报文如下:GET/index.htmlHTTP/1.1Host:www.example.comUser-Agent:Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/58.0.3029.110......
  • go 同一个https端口实现多种认证方式
    参考kube-apiserver,访问https端口时,-k允许跳过默认的证书认证,从而实现多种认证方式。packagemainimport( "crypto/tls" "fmt" "net/http" klog"k8s.io/klog/v2")funchealthCheck(whttp.ResponseWriter,r*http.Request){ fmt.Fprintf(w,&qu......
  • https原理分析
    https说明对称加密秘钥只有1个客户端和服务端都保存一个同样的秘钥非对称加密秘钥有2个1个是公钥1个是私钥公钥是由私钥生成出来的公私钥是一对公钥可以公开给客户端服务端保存私钥不能公开公钥加密后的密文只能用私钥解密私钥加密后的密......
  • .Net 6 WebAPI 使用JWT进行 授权认证配置
    .Net6WebAPI使用JWT进行授权认证1、安装组件(Nuget)Microsoft.AspNetCore.Authentication.JwtBearer2、Program.cs配置//授权认证(使用JWT)builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme).AddJwtBearer(o=>{//私钥varsecretByte=Enco......
  • follow-redirects 可以直接替换node http & https 的npm 模块
    follow-redirects可以直接替换nodehttp&https的npm模块包含的特性支持重定向功能支持重定向参数配置,比如最大重定向,以及最大请求大小,支持beforeredirect请求处理(比如认证处理)支持agents说明对于业务系统的请求会包含重定向场景的,follow-redirects是一个很不错的选......
  • HTTP缓存
    HTTP缓存HTTP缓存实现有两种强制缓存和协商缓存强制缓存强缓存:浏览器判断请求的目标资源是否有效命中强缓存,如果命中,则直接从内存中读取目标资源,无需与服务器做任何通讯Expires强缓存:设置一个强缓存时间,此时间范围内,从内存中读取缓存并返回,判断强缓存过期的机制是获取本地时......
  • 算法的评估指标 转载自知乎https://zhuanlan.zhihu.com/p/400644465
    什么是评估指标?评估指标是针对模型性能优劣的一个定量指标。一种评价指标只能反映模型一部分性能,如果选择的评价指标不合理,那么可能会得出错误的结论,故而应该针对具体的数据、模型选取不同的的评价指标。针对不同类型的学习任务,我们有不同的评估指标,这里我们来介绍最常见的分类......