国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

關(guān)于workmanchat前端使用nginx做轉(zhuǎn)發(fā)導(dǎo)致的跨域問題

1271281914

在nginx中使用chat.room.com:8020轉(zhuǎn)發(fā)到端口7272的時(shí)候,有些瀏覽器會(huì)出現(xiàn)以下問題,導(dǎo)致無法建立websocket鏈接,錯(cuò)誤提示如下:

** policy file: xmlsocket://chat.room.com:843

cannot connect to Web Socket server at ws://chat.room.com:8020 (SecurityError: Error #2048)

make sure the server is running and Flash socket policy file is correctly placed**

這個(gè)問題應(yīng)該怎么解決?

9648 6 0
6個(gè)回答

walkor 打賞

要在843端口放置一個(gè)policy file文件,這個(gè)是flash的安全機(jī)制。具體可以網(wǎng)上搜索下

  • 暫無評(píng)論
1271281914

這個(gè)監(jiān)聽843端口是用nginx來監(jiān)聽還是用workman來做監(jiān)聽?

這個(gè)policy file是不是下面這個(gè)?
crossdomain.xml

<?xml version="1.0" ?>
<cross-domain-policy>
    <site-control permitted-cross-domain-policies="all"/>
    <allow-access-from domain="_" to-ports="_" secure="false"/>
    <allow-http-request-headers-from domain="_" headers="_"/>
</cross-domain-policy>
  • 暫無評(píng)論
walkor 打賞

用workerman提供即可,就下面幾行代碼

<?php
use Workerman\Worker;
require_once __DIR__ . '/Workerman/Autoloader.php';

$flash_policy = new Worker('tcp://0.0.0.0:843');
$flash_policy->onMessage = function($connection, $message)
{
        $connection->send('<?xml version="1.0"?><cross-domain-policy><site-control permitted-cross-domain-policies="all"/><allow-access-from domain="_" to-ports="_"/></cross-domain-policy>'."\0");
};

if(!defined('GLOBAL_START'))
{
        Worker::runAll();
}
  • 暫無評(píng)論
1271281914

還是出現(xiàn)獲取不到的錯(cuò)誤,錯(cuò)誤如下圖

[attach]218[/attach]

[attach]219[/attach]
[attach]220[/attach]

  • 暫無評(píng)論
1271281914

搞定了。那個(gè)發(fā)送還要加一句結(jié)束符。

$connection->send("\0");

  • 暫無評(píng)論
walkor 打賞

好的,謝謝提醒

  • 暫無評(píng)論
年代過于久遠(yuǎn),無法發(fā)表回答
??