我使用: 「socket.io」:「〜0.9.10」Socket.IO問題與非法來源?
我遇到了這個問題,當我去託管在端口80我的Apache網絡服務器託管client.html頁:
XMLHttpRequest cannot load http://localhost:5000/socket.io/1/?t=1348624895534. Origin http://localhost is not allowed by Access-Control-Allow-Origin.
我對我的服務器端運行SocketIO是在端口5000,如下圖所示:
io = io.listen(5000);
io.set("origins","*");
然而,每次我打開我的Apache client.html網頁,我看到我的SocketIO服務器控制檯:
warn: illegal origin: http://localhost
我該如何擺脫這個問題?
不完全清楚...我正在運行Windows a2enmod是一個未知的命令。 「Header set Access-Control-Allow-Origin *」是否放在httpd.conf的特定區域中?如果是這樣,具體在哪裏?似乎並不明顯。到目前爲止,我所做的是取消註釋httpd.conf中的「LoadModule headers_module modules/mod_headers.so」這一行,但不知道該從哪裏下載。 – Rolando
a2enmod是一個啓用apache 2模塊的工具。你有沒有理由使用Apache + Node,而不是僅使用Express和Socket.IO的Node(它們可以很好地協作)。因爲如果沒有,它會讓你的生活變得更容易。 – 3on
否則,要在Windows上激活Apache模塊,只需從Apache安裝文件夾中打開'conf/httpd.conf',並將'#LoadModule headers_module modules/mod_headers.so'行註釋到'LoadModule headers_module modules/mod_headers.so' – 3on