Неправильный протокол для crossdomain.xml в приложении Flex
Я изменил протокол для своего гибкого приложения с https на http, и flashplayer все еще хочет загрузить crossdomain.xml, используя https, но с портом для http. Доступ к приложению осуществляется по адресу http://domain01:8080/flex, и он хочет получить https:.. samedomain..: 8080 / crossdomain.xml (по адресу https:.. samedomain..no_port / flex работает нормально).
Кто-нибудь знает, почему?
Большое спасибо,
Даниил
3 ответа
Когда вы сталкиваетесь с междоменными проблемами, стоит помнить, что с помощью класса Security вы всегда можете получить явный контроль над тем, какой файл crossdomain.xml загружается (на самом деле файл политики может иметь любое имя). Поведение по умолчанию при загрузке файла политики из корня сервера часто может быть слишком ограничительным при работе с более сложными, реальными случаями (например, с балансировкой нагрузки или обратными прокси-серверами).
Попробуйте использовать:
Security.loadPolicyFile(<URI to the policy file goes here>);
ASDocs здесь и объясняют это довольно хорошо.
Взяв под контроль загрузку политик, вы можете получить больше свободы и избавиться от многих догадок из того, что в противном случае может быть болезненным, разочаровывающим опытом. Flash Player позволяет загружать несколько файлов политик, что удобно, если вам нужно интегрироваться с несколькими уровнями обслуживания (например, на один хост через HTTPS, а другой через HTTP).
Удачи,
Тейлор
Flex (Atleast 3.5 AFAIK..) получает некоторые идентифицировать кризис, когда вы меняете порт и используете Https... Модель безопасности зависит от порта.. Я не знаю точную причину проблемы, но я решил загрузить междоменный домен файл в вашем приложении явно..
System.security.loadPolicyFile ('https: // MYDOMAIN: порт /crossdomain.xml');
Прямого ответа нет, так как я не пробовал этот сценарий с указанием порта не по умолчанию, но с парой информации, которая может привести вас к ответу:
Это может быть интересно:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM
"http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*.example.com" to-ports="507,516-523"/>
</cross-domain-policy>
или это:
10,0,12,0 Значение по умолчанию для разрешенных кросс-доменных политик для файлов политики, не относящихся к сокетам, - "только для мастера"
Возможно, попробуйте более старую версию Flash Player, чтобы увидеть, не вызывает ли проблема что-то в изменениях из 9->10, тогда поиск изменений в журналах изменений может быть проще или, возможно, это ошибка в новой версии.
Удачи шон