Ошибка № 2032: Ошибка потока в Fedora, но не в Ubuntu - PullRequest
2 голосов
/ 04 декабря 2011

С этой ошибкой сталкивались многие люди, как это видно через Интернет, но ни одно из приведенных решений не помогло мне.

Проблема:
У меня есть гибкое приложение, котороеЯ пытаюсь запустить на машине Linux.В Ubuntu он работает нормально, но в Fedora возникает следующая ошибка при нажатии кнопки входа в систему.

text="Error #2032: Stream Error. URL: http://192.168.1.115/flexApp/utils/db_mgmt.php"]. 

Подробности:
Кнопка входа фактически отправляет имя пользователя и пароль, введенные пользователем, на сервер, развернутый на том же компьютере через HTTPService.Этот HTTPService на самом деле отправляет данные в db_mgmt.php на сервере, который заботится о авторизации пользователя путем запроса базы данных mysql, развернутой на той же машине.Я обращаюсь к db_mgmt.php в своем коде как:

_httpS.url= "utils/" + db_mgmt.php;

Суть в том, что я обращаюсь к нему через localhost.Итак, я думаю, мне не нужен crossdomain.xml.

Информация о машинах:

  • Машина, на которой не работает приложение:

    Linux Distro: Fedora
    IP: 192.168.1.115
    Путь к приложению: / var / www / html / flexApp .
    Владелец: Дэвид: Дэвид
    Разрешения: 755
    (Я пытался установить разрешения для 777 и владельца для apache: apache только для тестирования, но этот din тоже работает. Кстати, 'apache' - это имя пользователя, на котором работает Apache /httpd на Fedora.)

  • Машина, на которой приложение работает нормально:

    Linux Distro: Ubuntu
    IP: 192.168.1.113
    Путь к приложению: / var / www / flexApp .
    Владелец: знак: отметка
    Разрешения: 755 .

Кажется, проблема не связана с версией Flash Player:
Я получаю доступ к обеим машинам с третьей машины через браузер Firefox.Ubuntu один работает нормально.Fedora One возвращает упомянутую ошибку.Суть в том, что эта проблема не связана с версией FlashPlayer, которую я имею в браузере Firefox моей третьей машины.Если бы это было так, то та же проблема должна была появиться с машиной Ubuntu.(Примечание: та же проблема возникает в Chrome и Internet Explorer)

Проблема не в неправильном пути:
Я могу получить доступ к следующему пути в порядке.Никаких проблем не возникает.И я получаю вывод из файла db_mgmt.php на обеих машинах:

Fedora: http://192.168.1.115/flexApp/utils/db_mgmt.php
Ubuntu: http://192.168.1.113/flexApp/utils/db_mgmt.php

Где делатьЯ думаю, что проблема может быть?
Что ж, пройдя много форумов по этой проблеме и попробовав предложенные решения (с неудачными результатами), я могу думать только о том, что что-то не так сразрешения моих файлов на сервере Fedora.HTTPService на машине Fedora не может получить доступ к db_mgmt.php.Но я не знаю, как я могу быть уверен в этом или в чем может быть его решение.Нужно ли вносить некоторые изменения в настройки apache на машине Fedora?

Я должен запустить это приложение на Fedora по некоторым другим причинам.Надеюсь найти решение здесь.:)

Спасибо.

Обновление:
Вот весь дамп сообщения об ошибке:

(mx.messaging.messages::ErrorMessage)#0
body=""
cliendId = "DirectHTTPChannel0"
correlationId= "CD7D67A8-1AD1-5C89-331B-
07B7E51BC3A0"
  destination = ""
  extendedData = (null)
  faultCode = "Server.Error.Request"
  faultDetail = "Error: [IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2032: Stream Error. URL: http://192.168.1.115/flexApp/utils/db_mgmt.php"]. URL: http://192.168.1.115/flexApp/utils/db_mgmt.php"
  faultString = "HTTP request error"
  headers = (Object)#1
    DSStatusCode = 500
  messageId = "5D10EE4D-BFA5-201E-EABE-07B7E550F727"
  rootCause = (flash.events::IOErrorEvent)#2
    bubbles = false
    cancelable = false
    currentTarget = (flash.net::URLLoader)#3
      bytesLoaded = 0
      bytesTotal = 0
      data = ""
      dataFormat = "text"
    errorID = 0
    eventPhase = 2
    target = (flash.net::URLLoader)#3
    text = "Error #2032: Stream Error. URL: http://192.168.1.115/flexApp/utils/db_mgmt.php"
    type = "ioError"
  timestamp = 0

1 Ответ

1 голос
/ 04 декабря 2011

Первое предположение: ваш SELinux обязательный контроль доступа Конфигурация неправильно установлена ​​для вашего приложения.Fedora поставляется с SELinux, а Ubuntu поставляется с AppArmor , поэтому используемые вами рамки MAC в разных системах сильно различаются.

Проверьте /var/log/audit/audit.log или /var/log/messages для avc:denied Сообщения.См. FAQ Fedora SELinux , чтобы узнать, как действительно правильно работать с SELinux.Просто предположите, что контекст безопасности вашего db_mgmt.php может быть неправильно установлен.Проверьте вывод ls -Z файла db_mgmt.php и сравните его с другими работающими PHP-скриптами - возможно, вам просто нужно обновить контекст безопасности, чтобы получить доступ к домену интерпретатора PHP.

Второе предположение: ваш сервер не настроен на прослушивание общедоступного IP-адреса 192.168.1.115 на компьютере Fedora.Проверьте вывод netstat -anp, чтобы убедиться, что веб-сервер, обслуживающий ваше приложение, прослушивает 0.0.0.0:80, а не 127.0.0.1:80.

Третье предположение: посмотрите, позволяют ли какие-либо приложения общаться«локально» через адрес аппаратного интерфейса.(Проверьте ssh 192.168.1.115 против ssh 127.0.0.1 и убедитесь, что оба работают. См. /proc/sys/net/ipv4/conf/*/accept_local документацию в исходном коде ядра Linux Documentation/networking/ip-sysctl.txt.)

...