请求/.well-known/apple-app-site-association是什么意思?

64

我刚刚检查了我的服务器日志,并发现有很多奇怪的请求。我已经实现了iOS 9通用链接,但据我所知,这些请求是针对/apple-app-site-association运行的。

Jan 15 09:36:23 method=GET path="/.well-known/apple-app-site-association"

还有其他人看到过这些模式吗?这是一些已知的垃圾邮件或什么东西吗?


我也看到了这个问题,似乎是来自Darwin/15.4.0,这是iOS 9.3的版本。 - Icydog
好的,很高兴知道我不是唯一一个。这是预期的行为吗? - Tim Specht
您也看到了吧。您是否已安装GoogleAppIndexing? - dogsgod
有很多这样的日志 :/ - Christopher-BZC
5个回答

40

我认为iOS 9.3引入了略有不同的查找逻辑,围绕着apple-app-site-association文件和应用程序Handoff功能。

"Handoff首先在.well-known子目录中搜索该文件(例如,https://example.com/.well-known/apple-app-site-association),如果您未使用.well-known子目录,则会退回到顶级域名。"

请参见:https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/Handoff/AdoptingHandoff/AdoptingHandoff.html#//apple_ref/doc/uid/TP40014338-CH2-SW10


无法找到 developer.apple.com 的链接。 - Evaa

14

我在记录中也收到了以下内容:

[Mon Feb 29 12:34:53 2016] [error] [source 66.249.75.XXX] File does not exist: /public_path/apple-app-site-association

XXX 是日志中介于0至255之间的数字。

然后,我检查了 Whois IP 66.249.69.0, 1, 2 ....... 255

我发现,从66.249.64.0 - 66.249.95.255这个范围内的所有IP都归属于Google Inc。等一下,你在开玩笑吧,为什么Google在我的服务器上请求apple-app-site-association?

因为Google扩展了它的映射,包括有关网站和特定iOS应用程序之间关联的信息,用于Google搜索中Safari的通用链接的Google应用索引。

66.249.64.0 IP的Whois日志

NetRange:       66.249.64.0 - 66.249.95.255
CIDR:           66.249.64.0/19
NetName:        GOOGLE
NetHandle:      NET-66-249-64-0-1
Parent:         NET66 (NET-66-0-0-0-0)
NetType:        Direct Allocation
OriginAS:       
Organization:   Google Inc. (GOGL)
RegDate:        2004-03-05
Updated:        2012-02-24
Ref:            https://whois.arin.net/rest/net/NET-66-249-64-0-1



OrgName:        Google Inc.
OrgId:          GOGL
Address:        1600 Amphitheatre Parkway
City:           Mountain View
StateProv:      CA
PostalCode:     94043
Country:        US
RegDate:        2000-03-30
Updated:        2015-11-06
Ref:            https://whois.arin.net/rest/org/GOGL


OrgAbuseHandle: ABUSE5250-ARIN
OrgAbuseName:   Abuse
OrgAbusePhone:  +1-650-253-0000 
OrgAbuseEmail:  email@google.com
OrgAbuseRef:    https://whois.arin.net/rest/poc/ABUSE5250-ARIN

OrgTechHandle: ZG39-ARIN
OrgTechName:   Google Inc
OrgTechPhone:  +1-650-253-0000 
OrgTechEmail:  email@google.com
OrgTechRef:    https://whois.arin.net/rest/poc/ZG39-ARIN

6
我们也遇到了同样的问题。我们服务器访问日志文件的绝大部分现在都是针对这个特定文件的请求。
如果你正在运行一个使用nginx提供静态文件服务的应用服务器/框架,请务必验证 /.well-known/apple-app-site-association/apple-app-site-association 文件是否存在或返回响应。
如果它们不存在,所有缺失的请求都将传递给你的框架,在许多情况下,在确定没有匹配项之前需要处理路由。直到昨天我们做出这一改变之前,对我们的服务器造成了相当大的压力。

如果我们把这些文件留空会怎样?@aramisbear - Tayyab Hussain
如果它们存在且为空文件,nginx 仍将看到它们并提供服务。这就是你需要的全部,以防止它将这些请求传递到应用程序的路由层。 - brightball

6
自从iOS 9.3以来,苹果会首先尝试下载/.well-known/apple-app-site-association,如果失败,则回退到/apple-app-site-association
请参阅苹果的技术问答QA1919

收到对 /.well-known/apple-app-site-association 文件的请求

Q: 为什么我的Web服务器会收到https://example.com/.well-known/apple-app-site-association 的请求?

A: 最近发布的iOS 9.3更新实现了RFC 5785。由于这个原因,运行iOS 9.3的设备将首先请求 /.well-known/apple-app-site-association文件,以实现Universal LinksShared Web Credentials。如果在此位置找不到该文件,则设备将像之前的iOS 9版本一样,在Web服务器的根目录中请求该文件。


3

我看到很多这样的请求(包括和不包括.well-known子目录)。这些请求来自google-bot,但我想其他蜘蛛在某个时候也可能开始寻找它们。由于我的网站与任何iOS(或Android)应用程序没有重叠的功能,所以它们是浪费带宽的。我喜欢 @aramisbear 的答案来保护我的应用服务器 (https://dev59.com/3VsW5IYBdhLWcg3wk4DM#36185061)。但我将尝试将它们添加到我的robots.txt文件中。由于google-bot尊重robots.txt(而其他对创建应用索引感兴趣的机器人几乎肯定也会),我认为这样做将防止浪费甚至我的nginx代理的带宽。


@Snovarg - 当然。我们的网站流量很低,但希望有一天能够变得更高,所以我想在这成为问题之前解决它 :-) 在2016年11月6日更改robots.txt之前,我们每隔几天就会收到几个这样的请求,几乎全部来自googlebot。自从做出更改以来,我们总共只收到了2个这样的请求,都是来自applebot,时间是在2017年1月7日。 - sootsnoot
很高兴听到@sootsnoot的回复!我的解决方案是为每个奇怪的请求创建空文件和文件夹,这可能有点烦人,也可能很愚蠢,因为他们的系统可能会对我的网站进行负面评价。你能否帮我发布一个如何将此添加到robots.txt的示例?(我对这些事情不是很了解..) - Tornseglare
2
@Snovarg - Google robots.txt,纯文本文件放在您的文档根目录中。两行相关内容仅为“Disallow: /.well-known/”和“Disallow: /apple-app-site-association”(不带引号)。 - sootsnoot
感谢您的启动。 :) - Tornseglare
确切地说,我认为这与SEO有关。请查看: IP:66.249.64.212 网站:http://hambazar.com/ .well-known/apple-app-site-association 代理:Mozilla / 5.0(兼容;Googlebot / 2.1; + http://www.google.com/bot.html) - Amir Surnay

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接