如果在我们的日志文件中发现了新的错误消息,并想知道这个.well_known
文件夹的用途。
哪个应用程序/客户端会需要访问这样的文件夹哪个应用程序会在其中创建文件?
以下是我的某个域名的 PHP 错误日志的一些条目。(我删除了日期、IP 和目标域名。)
0000/00/00 00:00:00 [error] 851#0: *88611 access forbidden by rule, client: xxx.xxx.xxx.xxx, server: example.com, request: "GET /.well-known/apple-app-site-association HTTP/1.1", host: "exampleA.com"
0000/00/00 00:00:00 [error] 850#0: *89749 access forbidden by rule, client: xxx.xxx.xxx.xxx, server: example.com, request: "GET /.well-known/assetlinks.json HTTP/1.1", host: "exampleA.com"
0000/00/00 00:00:00 [error] 850#0: *89767 access forbidden by rule, client: xxx.xxx.xxx.xxx, server: example.com, request: "GET /.well-known/assetlinks.json HTTP/1.1", host: "exampleB.com"
0000/00/00 00:00:00 [error] 853#0: *90120 access forbidden by rule, client: xxx.xxx.xxx.xxx, server: example.com, request: "GET /.well-known/apple-app-site-association HTTP/1.1", host: "exampleB.com"
0000/00/00 00:00:00 [error] 853#0: *90622 access forbidden by rule, client: xxx.xxx.xxx.xxx, server: example.com, request: "GET /.well-known/apple-app-site-association HTTP/1.1", host: "www.exampleB.com"
0000/00/00 00:00:00 [error] 853#0: *90926 access forbidden by rule, client: xxx.xxx.xxx.xxx, server: example.com, request: "GET /.well-known/assetlinks.json HTTP/1.1", host: "www.exampleA.com"
0000/00/00 00:00:00 [error] 854#0: *91780 access forbidden by rule, client: xxx.xxx.xxx.xxx, server: example.com, request: "GET /.well-known/apple-app-site-association HTTP/1.1", host: "exampleA.com"
一开始我以为是我生成的,但当时我并没有访问/操作这些域。这些访问请求来自我们的 3 个域。(使用不同的 Web 应用程序)
信息1:看来 IP 来自 Googlebot(爬虫)但为什么访问这些文件如此重要?(我们的文件夹中没有这些文件。我检查了所有域根目录中的隐藏文件。)
答案1
该/.well-known/
子目录定义为RFC 5785 RFC 8615
基于 Web 的协议越来越普遍地要求在发出请求之前发现有关主机的策略或其他信息(“站点范围的元数据”)。例如,Robots 排除协议http://www.robotstxt.org/指定了自动化流程获取访问资源权限的方法;同样,隐私偏好平台 [W3C.REC-P3P-20020416] 告诉用户代理如何预先发现隐私政策。
虽然有多种方法可以访问每个资源的元数据(例如,HTTP 标头、WebDAV 的 PROPFIND [RFC4918]),但与它们相关的感知开销(无论是客户端感知的延迟还是部署难度)通常会阻止它们在这些场景中的使用。
发生这种情况时,通常会指定一名“著名地点” 这些数据,以便于定位。然而,这种方法的缺点是存在碰撞风险,既与其他此类指定“著名地点”并利用已有的资源。
为了解决这个问题,本备忘录在 HTTP(S) URI 中定义了以下路径前缀:“著名地点”,
/.well-known/
. 未来需要为此类站点范围元数据定义资源的规范可以注册其用途以避免冲突并尽量减少对站点 URI 空间的侵犯。
您看到访问被禁止错误的原因可能是对隐藏文件/文件夹(以点开头的路径.)的请求被全面阻止。
如果您在 /.well-known 中确实有有用的内容,此问答可能会感兴趣。
该目录内的位置随后将用于特定目的,
两者都支持类似的目的,它们允许网站运营商指示访问者在关联应用程序中打开网站,而不是在(移动)浏览器中打开。
/.well-known/acme-challenge/
是拟议的自动证书管理环境标准作为 Let's Encrypt 使用的 HTTP 标识符验证的位置。
IANA 维护着一份完整的已分配知名地点列表www.iana.org/assignments/well-known-uris/well-known-uris.xhtml和维基百科上也有类似的列表还包括一些未经 IANA 正式分配和注册的不同 URI。