2017-04-17 18 views
1

私はApacheの設定に深くないので、 ++時間のGoogleと実験と緊張した後、私はポート80を使用する "site-name"は、常にnode.js socket.ioサーバースクリプトへのリダイレクトで終了します。apache httpd-vhosts.confポート80からsocket.ioコールだけをリダイレクトする人

ブラウザから、私はindex.htmにsocket.ioの処理を要求します。

ポート80を使用してnode.jsにリダイレクトされないように、httpd-vhosts.confがphp/js/html/..(index.htmを除く)から "site-name"への呼び出しを許可するように設定するにはどうすればよいですか?

(XAMPP)のApache/2.4.25(Win32の)のOpenSSL/1.0.2jのPHP/5.6.30

のhttpd-vhosts.confはこの

<VirtualHost *:80> 
ServerName site-name 

RewriteEngine On 
RewriteCond %{REQUEST_URI} ^/socket.io   [NC] 
RewriteCond %{QUERY_STRING} transport=websocket [NC] 
RewriteRule /(.*)   ws://localhost:8088/$1 [P,L] 

ProxyPass   http://localhost:8088/ 
ProxyPassReverse   http://localhost:8088/ 

</VirtualHost> 

index.htmを次のようになります。

<!DOCTYPE html> 
<html> 
    <head> 
     <meta charset="utf-8" /> 
     <title>Socket.io</title> 
    </head> 

    <body> 
     <h1>Communication with socket.io!</h1> 

     <script src="http://site-name/socket.io/socket.io.js"></script>  <script> 
var socket = io(); 
console.log("socketId: " + socket.id); 

socket.on('news', function (data) { 
console.log(data); 
socket.emit('my other event', { my: 'client-data' }); 
}); 

感謝のあなたの助けを グイド

答えて

0

私は単純に追加することで解決策を見つけました。

# no proxy for php cgi-bin 

ProxyPass   /php ! 

ProxyPass   /cgi-bin ! 
関連する問題