Hello - just installed CF10 on Fedora 16 using Apache. And am trying to run some websocket code, and it seems to work great as a websocket on Chrome and Firefox. However on IE8 it does not seem to fail over to Flash.
I receive a console message:
[WebSocket] cannot connect to Web Socket server at ws://192.168.1.5:8585/cfusion/cfusion (SecurityError) make sure the server is running and Flash socket policy file is correctly placed
I have double checked that Start Flash Policy Server is enabled and I have disabled all firewalls on this machine.
As a fix attempt, I tried to copy "/opt/coldfusion10/cfusion/wwwroot/crossdomain.xml" to my site root "/data/site/". But none of that has seemed to change anything.
Does anyone have any ideas for me to try or ran across this problem? I haven't seen any complaints about WebSocket's Flash fallback, so I can only assume that it works, but it's just my installation that is having difficulty.
Thanks!
Hi Jacobs,
Is this issue happening only on Fedora as we don't suooprt it and haven't tested on that. Can you please try it on any other supported OS.
We have tested it on IE8 and it worked for us. Also can you enable debug for websocket and provide us the cfusion.log.(Mail me ksaini@adobe.com)
To enable debugging:
Go to: {cf_home}/lib/neo-websocket.xml , , set logging level to debug and restart CF server
After running the same testcase you will see debug entries on console.
Thanks
Kunal Saini
Adobe ColdFusion Team
Hello -
I just attempted the logging output and was hoping to get something useful based on what you described, but Google Chrome is able to connect to the websocket perfectly and it displays logging information; however, IE8 (which doesn't support websockets and should fall back to the flash socket) still cannot connect and there is no logging output into the log files. So it appears to be the flash socket fall back that's failing. Based on the console message that shows in the IE8 Developer Tools, it seems to be a connection or security issue...
[WebSocket] cannot connect to Web Socket server at ws://192.168.1.5:8585/cfusion/cfusion (SecurityError) make sure the server is running and Flash socket policy file is correctly placed
I can understand that Fedora isn't yet supported. Unfortunately, it's the version I need to use and would love to get this working, I can only imagine that it's a minor issue.
Do you have any ideas how I continue to debug this?
Thanks!
Cameron
Hello Kunal
I've tried replying to this in the bug report system, but haven't gotten a response there for some time. Is it possible to re-enable the Internal Web Server (port 8500) after a connector to Apache has already been installed? I would love to try this, but I would rather not re-install the server if I can avoid it.
Thanks!
Cameron
Hi Jacobs,
You can definately re-enable the internal port without re-instaling the CF. There are two cases:
1. If you have configured Apache after installing CF(via wsconfig) then no need to do anything ,you can directly access port(8500/8501/) and access webroot.
2. If you have configures Apache at the time of installation then, {cf_home}/runtime/conf/server.xml and make sure this code is uncommented:
<Connector executor="tomcatThreadPool" maxThreads="50"
port="8500" protocol="org.apache.coyote.http11.Http11Protocol"
connectionTimeout="20000"
redirectPort="8445" />
and restart CF.
Also one more thing can you check if flash socket port 843 is enabled(netstat). BTW in the latest intermediate build we have changed this port to 1243.
Thanks
Kunal
Okay, well that's a great start. I was able to re-enable the internal webserver and test it out. Unfortunately I'm still showing the same problem.
Just checked netstat for port 843 and it doesn't appear to be listening. I have opened the port in UFW, but it is showing connection refused.
UFW Verbose Status output:
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing)
New profiles: skip
To Action From
-- ------ ----
843,8500,8585/tcp (ColdFusion) ALLOW IN Anywhere
80/tcp (Apache) ALLOW IN Anywhere
22/tcp (OpenSSH) ALLOW IN Anywhere
843,8500,8585/tcp (ColdFusion (v6)) ALLOW IN Anywhere (v6)
80/tcp (Apache (v6)) ALLOW IN Anywhere (v6)
22/tcp (OpenSSH (v6)) ALLOW IN Anywhere (v6)
Telnet into this port is also being refused, so this would appear to be the problem, but I am not sure what I'm missing about why this port isn't listening. Any ideas?
I was banging my head against the wall with the same issue being described. My problem ended up being solved by opening the "Flash policy port" (can be found in neo-websockets.xml) in the firewall. My default port was 1243 (I also have 843 opened up as well). After opening up that all flash fallback support has been working in IE8 . Hope this helps someone else.
Interesting! My neo-websockets.xml file doesn't seem to have any information about the actual port used by the flash fallback... File is displayed below:
<wddxPacket version='1.0'>
<header/>
<data>
<struct type='coldfusion.server.ConfigMap'>
<var name='port'>
<string>8585</string>
</var>
<var name='socketTimeout'>
<number>300</number>
</var>
<var name='maxFrameSize'>
<number>1024</number>
</var>
<var name='flashFallBack'>
<boolean value='true'/>
</var>
<var name='logging'>
<string>warning</string>
</var>
</struct>
</data>
</wddxPacket>
Appreciate your help, just a little confused as how to move forward with it.
North America
Europe, Middle East and Africa
Asia Pacific