2015-11-04 7 views
5

Ich versuche, die Apple Search Validation Tool zu übergeben, und ich habe Probleme mit der Apple-App-Site-Association.Apple-app-site-association nicht gefunden

Aus irgendeinem Grund kann der Bot meine Datei nicht finden. Aber wenn Sie die URL öffnen, ist es da.

Es ist kein Formatierungsproblem, weil die Datei nicht einmal gefunden wird. Ich habe https, also ist es nicht nötig, meine Datei zu signieren.

Ich habe keine Erweiterung in meiner Datei, wie in der Dokumentation gefragt.

Jemand hatte ein ähnliches Problem und fragte nach der Apple Developer foruns, aber es hat mir nicht geholfen.

Meine url ist https://ps3looke.ottvs.com.br/apple-app-site-association

Ich versuchte es mit cUrl zu überprüfen und alles scheint normal:

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 

Jede ideia von dem, was ich falsch machen könnte, oder was ich tun muss?

Antwort

3

Ich kontaktiere derzeit Microsoft Support über das gleiche Problem. Mein erster Zugriff ist, dass Windows Server 2012 R2 einen Fehler beim Behandeln von TLS 1.2 hat, das ist das HTTPS-Protokoll, das AppleBot Crawl die Seiten verwendet.

Ihr Apple-App-Ort-Verband sieht völlig in Ordnung

bearbeiten

ich, dass auch mit dem Validierungs-Tool gefunden nicht funktioniert, wenn Sie die Website auf Safari auf dem iPad/iPhone besuchen, die Open in der xxx App macht aus Pop

-Update 2015-12-22

Microsoft mir zurückbekommen hat. Das Problem ist, dass AppleBot das folgende Client-Hallo sendet SSL-Verbindung zu initiieren

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) 

Wenn Sie an der Zertifikatshierarchie Ihres SSL-Zertifikats suchen, sehen Sie

COMODO RSA Organization Validation Secure Server CA 
    Certificate signature algorithm 
     PKCS #1 SHA-384 With RSA Encryption 

Wenn Windows Server empfängt die Client-Hallo aus AppleBot, es sieht, dass AppleBot SHA1 und SHA256 unterstützt, jedoch benötigt Ihr Zertifikat Unterstützung für SHA384. Daher gibt es gemäß http://tools.ietf.org/html/rfc5246#section-7.4.1.4.1 keine Möglichkeit, die Anforderung zu erfüllen, und Windows Server setzt die Verbindung zurück. AppleBot meldet dann als Datei nicht gefunden.

Insbesondere sagt 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. 

Abhilfe vorgeschlagen von Microsoft

Wenn Sie den Validator verwenden müssen, erstellen Sie ein selbst signiertes Zertifikat. Standardmäßig verwendet Windows SHA1 als Zertifikatssignaturalgorithmus. Binden Sie das selbstsignierte Zertifikat an Ihren HTTPS-Endpunkt und verwenden Sie dann den Validator, um sicherzustellen, dass die Apple-App-Site-Association-Datei in Ordnung ist. Sie können dann zu dem tatsächlichen SSL-Zertifikat zurückkehren, das Sie gekauft haben.

Meine Warnung

nicht ein selbst signiertes Zertifikat auf dem Produktionsserver Legen Sie. Erstellen Sie einen anderen Server zum Testen!

+0

ich sehe. Danke für deine Antwort, wenn du Neuigkeiten hast, könntest du sie bearbeiten und teilen? –

+0

MS Support ging an einem Wochenende Pause, mal sehen, was sie am Montag sagen ... –

+0

@KioCoan MS Support das Problem gefunden –

1

konnte ich dieses Problem mit URL Rewrite-Modul beheben, indem eine .json Erweiterung an den Dateinamen hinzufügen und dann eine Rewrite-Regel zu meinem web.config Zugabe wie folgt:

<rule name="AppleAppSite" enabled="true" stopProcessing="true"> 
    <match url="^apple-app-site-association$"/> 
    <action type="Rewrite" url="apple-app-site-association.json"/> 
</rule>