0

Webアプリのすべての静的コンテンツを提供するnginxサーバーがあります。このアプリは、node.jsunsingsocket.ioに実装されているWebSocketを利用します。node.jsバックエンドはポート8000​​でリッスンしています。

静的に配信されたドキュメント内にポート8000​​経由でsocket-io.jsファイルを含めると、すべて正常に機能しますが、ポート8000​​内部を処理するプロキシとしてnginxを使用する方法について読んだことがあります。

だから私はこれらのような設定を構築しました:

server {

 server_name domain.com;
 access_log /var/log/nginx/domaim.com.log;
 location / {
    root /home/app/static/;
 }

 location /socket/ {
        proxy_pass http://127.0.0.1:8000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
 }
}

次に、domain.com / socket /を介してsocket.ioにアクセスできます(「Welcometosocket.io」というメッセージが表示されます)。また、静的コンテンツが配信されますが、ポート80を介して「socket.io/socket.io.js」ファイルをロードする方法が見つかりません。

それはきれいな方法で可能ですか?

4

1 に答える 1

0

あなたが使うことができますsocket.connect(url, {resource:'socket'})

デフォルトのリソースはsocket.io

https://github.com/LearnBoost/Socket.IO/wiki/Configure-Socket.IO

于 2013-04-26T21:58:56.103 に答える