Сайт-ассоциация Apple-приложения не найден

Я пытаюсь пройти через Инструмент проверки Apple Search, и у меня возникают проблемы с Apple -приложение-сайт-ассоциация.

Почему-то бот не может найти мой файл. Но если вы откроете URL-адрес, он там.

Это не проблема форматирования, потому что файл даже не найден. У меня есть https, поэтому мне не нужно подписывать мой файл.

У меня нет расширения в моем файле, как указано в документации.

У кого-то была похожая проблема, и он спросил на форумах разработчиков Apple, но мне это не помогло.

Мой 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

Любая идея о том, что я могу делать неправильно или что мне нужно делать?


person Kio Coan    schedule 04.11.2015    source источник


Ответы (2)


В настоящее время я обращаюсь в службу поддержки Microsoft по той же проблеме. Мой первоначальный доступ заключается в том, что в Windows Server 2012 R2 есть ошибка в обработке TLS 1.2, который является протоколом HTTPS, который AppleBot использует для обхода страниц.

Ваша ассоциация сайта-приложения-яблока выглядит отлично

Изменить

Я обнаружил, что даже если инструмент проверки не работает, при посещении сайта в Safari на iPad/iPhone всплывает приложение «Открыть в ххх».

Обновление от 22 декабря 2015 г.

Microsoft ответила мне. Проблема в том, что AppleBot отправляет следующий клиентский привет, чтобы инициировать 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 Server получает Client Hello от AppleBot, он видит, что AppleBot поддерживает SHA1 и SHA256, однако ваш сертификат требует поддержки SHA384. Таким образом, согласно http://tools.ietf.org/html/rfc5246#section-7.4.1.4.1 невозможно выполнить запрос, и Windows Server сбрасывает соединение. Затем 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, а затем используйте средство проверки, чтобы убедиться, что ваш файл ассоциации сайта-приложения-яблока в порядке. Затем вы можете вернуться к фактическому сертификату SSL, который вы купили.

Мое предупреждение

Не размещайте самозаверяющий сертификат на рабочем сервере. Создайте еще один сервер для тестирования!

person Jeow Li Huan    schedule 18.12.2015
comment
Я понимаю. Спасибо за ваш ответ, если у вас есть новости, не могли бы вы отредактировать и поделиться ими? - person Kio Coan; 18.12.2015
comment
Служба поддержки @KioCoan MS обнаружила проблему - person Jeow Li Huan; 22.12.2015

Мне удалось решить эту проблему с помощью модуля перезаписи 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>
person Ben H    schedule 09.11.2016