未找到 Apple-app-site-association
Apple-app-site-association not found
我正在尝试通过 Apple Search Validation Tool,但我遇到了 apple-app-site-association 的问题。
出于某种原因,机器人找不到我的文件。但是如果你打开 URL 它就在那里。
这不是格式问题,因为甚至找不到文件。
我有 https,所以不需要签署我的文件。
按照文档中的要求,我的文件没有任何扩展名。
有人遇到了类似的问题,在Apple Developer foruns上问过,但对我没有帮助。
我的url是https://ps3looke.ottvs.com.br/apple-app-site-association
我尝试用 cUrl 检查它,一切似乎都很正常:
Caios-MacBook-Air:~ caiocoan$ curl -I https://ps3looke.ottvs.com.br/apple-app-site-association
HTTP/1.1 200 OK
Content-Length: 135
Content-Type: application/json
Last-Modified: Tue, 27 Oct 2015 15:36:52 GMT
Accept-Ranges: bytes
ETag: "f81e714dcd10d11:0"
Server: Microsoft-IIS/8.5
X-Powered-By: ASP.NET
Date: Wed, 04 Nov 2015 20:43:25 GMT
知道我可能做错了什么,或者我需要做什么吗?
我目前正在就同一问题联系 Microsoft 支持部门。我的初始访问是 Windows Server 2012 R2 在处理 TLS 1.2 时存在错误,这是 AppleBot 用来抓取页面的 HTTPS 协议。
您的 apple-app-site-association 看起来非常好
编辑
我发现即使验证工具不起作用,当您在 iPad/iPhone 上使用 Safari 访问该站点时,在 xxx 应用程序中打开也会弹出
更新2015-12-22
Microsoft 已回复我。问题是 AppleBot 发送以下 Client Hello 来启动 SSL 连接
Signature Hash Algorithms (4 algorithms)
Signature Hash Algorithm: 0x0401
Signature Hash Algorithm Hash: SHA256 (4)
Signature Hash Algorithm Signature: RSA (1)
Signature Hash Algorithm: 0x0403
Signature Hash Algorithm Hash: SHA256 (4)
Signature Hash Algorithm Signature: ECDSA (3)
Signature Hash Algorithm: 0x0201
Signature Hash Algorithm Hash: SHA1 (2)
Signature Hash Algorithm Signature: RSA (1)
Signature Hash Algorithm: 0x0203
Signature Hash Algorithm Hash: SHA1 (2)
Signature Hash Algorithm Signature: ECDSA (3)
当您查看 SSL 证书的证书层次结构时,您会看到
COMODO RSA Organization Validation Secure Server CA
Certificate signature algorithm
PKCS #1 SHA-384 With RSA Encryption
当Windows服务器收到来自AppleBot 的Client Hello 时,它发现AppleBot 支持SHA1 和SHA256,但是,您的证书需要支持SHA384。因此,根据 https://www.rfc-editor.org/rfc/rfc5246#section-7.4.1.4.1,无法完成请求,Windows 服务器重置连接。然后 AppleBot 报告找不到文件。
具体来说,RFC5246 说
If the client provided a "signature_algorithms" extension, then all
certificates provided by the server MUST be signed by a
hash/signature algorithm pair that appears in that extension.
Microsoft 建议的补救措施
当您需要使用验证器时,创建一个自签名证书。默认情况下,Windows 使用 SHA1 作为证书签名算法。将自签名证书绑定到您的 HTTPS 端点,然后使用验证器确保您的 apple-app-site-association 文件没问题。然后您可以切换回您购买的实际 SSL 证书。
我的警告
不要将自签名证书放在您的生产服务器上。创建另一个服务器进行测试!
我能够通过 URL 重写模块解决这个问题,方法是向文件名添加 .json 扩展名,然后向我的 web.config 添加重写规则,如下所示:
<rule name="AppleAppSite" enabled="true" stopProcessing="true">
<match url="^apple-app-site-association$"/>
<action type="Rewrite" url="apple-app-site-association.json"/>
</rule>
我正在尝试通过 Apple Search Validation Tool,但我遇到了 apple-app-site-association 的问题。
出于某种原因,机器人找不到我的文件。但是如果你打开 URL 它就在那里。
这不是格式问题,因为甚至找不到文件。 我有 https,所以不需要签署我的文件。
按照文档中的要求,我的文件没有任何扩展名。
有人遇到了类似的问题,在Apple Developer foruns上问过,但对我没有帮助。
我的url是https://ps3looke.ottvs.com.br/apple-app-site-association
我尝试用 cUrl 检查它,一切似乎都很正常:
Caios-MacBook-Air:~ caiocoan$ curl -I https://ps3looke.ottvs.com.br/apple-app-site-association
HTTP/1.1 200 OK
Content-Length: 135
Content-Type: application/json
Last-Modified: Tue, 27 Oct 2015 15:36:52 GMT
Accept-Ranges: bytes
ETag: "f81e714dcd10d11:0"
Server: Microsoft-IIS/8.5
X-Powered-By: ASP.NET
Date: Wed, 04 Nov 2015 20:43:25 GMT
知道我可能做错了什么,或者我需要做什么吗?
我目前正在就同一问题联系 Microsoft 支持部门。我的初始访问是 Windows Server 2012 R2 在处理 TLS 1.2 时存在错误,这是 AppleBot 用来抓取页面的 HTTPS 协议。
您的 apple-app-site-association 看起来非常好
编辑
我发现即使验证工具不起作用,当您在 iPad/iPhone 上使用 Safari 访问该站点时,在 xxx 应用程序中打开也会弹出
更新2015-12-22
Microsoft 已回复我。问题是 AppleBot 发送以下 Client Hello 来启动 SSL 连接
Signature Hash Algorithms (4 algorithms)
Signature Hash Algorithm: 0x0401
Signature Hash Algorithm Hash: SHA256 (4)
Signature Hash Algorithm Signature: RSA (1)
Signature Hash Algorithm: 0x0403
Signature Hash Algorithm Hash: SHA256 (4)
Signature Hash Algorithm Signature: ECDSA (3)
Signature Hash Algorithm: 0x0201
Signature Hash Algorithm Hash: SHA1 (2)
Signature Hash Algorithm Signature: RSA (1)
Signature Hash Algorithm: 0x0203
Signature Hash Algorithm Hash: SHA1 (2)
Signature Hash Algorithm Signature: ECDSA (3)
当您查看 SSL 证书的证书层次结构时,您会看到
COMODO RSA Organization Validation Secure Server CA
Certificate signature algorithm
PKCS #1 SHA-384 With RSA Encryption
当Windows服务器收到来自AppleBot 的Client Hello 时,它发现AppleBot 支持SHA1 和SHA256,但是,您的证书需要支持SHA384。因此,根据 https://www.rfc-editor.org/rfc/rfc5246#section-7.4.1.4.1,无法完成请求,Windows 服务器重置连接。然后 AppleBot 报告找不到文件。
具体来说,RFC5246 说
If the client provided a "signature_algorithms" extension, then all
certificates provided by the server MUST be signed by a
hash/signature algorithm pair that appears in that extension.
Microsoft 建议的补救措施
当您需要使用验证器时,创建一个自签名证书。默认情况下,Windows 使用 SHA1 作为证书签名算法。将自签名证书绑定到您的 HTTPS 端点,然后使用验证器确保您的 apple-app-site-association 文件没问题。然后您可以切换回您购买的实际 SSL 证书。
我的警告
不要将自签名证书放在您的生产服务器上。创建另一个服务器进行测试!
我能够通过 URL 重写模块解决这个问题,方法是向文件名添加 .json 扩展名,然后向我的 web.config 添加重写规则,如下所示:
<rule name="AppleAppSite" enabled="true" stopProcessing="true">
<match url="^apple-app-site-association$"/>
<action type="Rewrite" url="apple-app-site-association.json"/>
</rule>