2016-07-26 6 views
0

Visual StudioでNode.js Socket.ioアプリケーションを作成します。ローカルで正常に動作します。 エラーが発生するAzureアプリとして公開すると、ホストNode.js AzureアプリケーションのSocket.io

"内部サーバーエラーが発生したため、ページを表示できません。"

問題が分かっている人は誰も知りませんが、私はAzureアプリケーション(+ 443)のポートのみを開いているポート80について考えています。

私はポート80を聞こうとしましたが、もう一度同じエラーが発生しました。

+0

私はソケットをホストしました。Azureのioアプリ私は特に "Node.JSアプリケーション"のためのAzureアプリケーションを使用しなければならなかった – pay

+0

Azureダッシュボードから作成しましたか?Visual Studioではなく、公開時にデフォルトで作成しますか? –

+0

はい私はAzureダッシュボードからNode.jsアプリケーションを作成しました。正しく覚えていれば、VSに入れた特定のGIT配備URLを使用しました – pay

答えて

2
0123:名前付きパイプの http://www.jokecamp.com/blog/getting-started-with-iisnode/
詳細は、AzureのWebアプリケーションにsocket.ioアプリケーションを構築するには、いくつかの注目は、あなたが払う必要があります。

  • port should be set similar to process.env.PORTを聴い

    Node.jsのサーバー|| 3000,

  • Web.configの設定を確認し、<webSocket enabled="false"/>を確認して、WebSocketsの独自の実装とSocket.IOなどのNode.js固有のWebSocketモジュールとの競合を含むIIS WebSocketsモジュールを無効にします。

詳細については、https://azure.microsoft.com/en-us/documentation/articles/web-sites-nodejs-chat-app-socketio/を参照してください。

さらに詳しいことがありましたら、お気軽にお知らせください。

1

Azure App Serviceは、IISNodeを使用して、node.exeと通信します。これは名前付きパイプで発生します。 ソケットの代わりに名前付きパイプを使用するようにアプリケーションを構成します。

すなわち

WebSocketをポータルでを有効にWebアプリケーションを再起動し、起動して実行する必要があります

app.set('port', process.env.PORT || 3000); 

によって

app.set('port', 3000); 

を交換してください。

ゲーリー・リウが正しい場合は、その設定は不要です。ただし、App Service上のサンプルSocket.IOチャットの実装を使用すると、Socket.IOはポータルで「WebSockets」を設定する方法を気にしません。いずれかの方法で動作します。 ]

内部サーバーエラーあなたはまた、少なくとも開発段階のために、あなたのノード・アプリケーションのログを有効にする必要があり観測可能な宇宙に障害があるに、コンピューティングと等価であるので:
https://azure.microsoft.com/en-us/documentation/articles/web-sites-nodejs-debug/から:

To enable developer errors, add the following line to the IISNode.yml file:

devErrorsEnabled: true

Once this option is enabled, IISNode will return the last 64K of information sent to stderr instead of a friendly error such as "an internal server error occurred".

iisnodeの詳細を:What are named pipes?

+0

ありがとう!私のAzureアプリは今ライブされています。 –

関連する問題