2016-11-18 4 views
1

は私が設定thisを使用して、基本的にノードの下に再現するためにリバースプロキシnginxのを設定しているリバースこれでノードが設定したが、私は、私はクライアント側のAJAXは(このnginxのプロキシを経由して)ノードサーバに要求をプレゼントするとき、私は見つけることができないことを後でファイルのポーリングをしています。ブラウザがlocalhost:8080上のファイルを探しますが、それは実際に私はプロキシを設定するにはどうすればよいlocalhost:3000トラブルは、プロキシ

http://localhost:8080/Users/myfile.txt // what the browser searches for 
http://localhost:3000/Users/myfile.txt // where the file really is 

に書かれているので、それを見つけることができません.get('Users/myfile.txt')のようなJavaScriptの要求クライアント側のために例えば

、このファイルにナビゲートしますか?

+0

あなたは、関連する設定を表示することができます8080にそれをルーティングしていますか? –

+0

私はノードとエクスプレスを使用しています。私が考えることができる唯一の設定ファイルは、私が投稿したnginxです。 1つのシナリオは、ノードサーバーコード内のデータを処理するために 'app.post( '/ data')'がありますが、 'app.get()'はありません。代わりに、ファイルは別のエンジンによって書き込まれます。プロキシを認識させるためにノードに 'app.get()'を明示的に設定する必要がありますか?または、nginx.confの犯人ですか? – o1sound

+1

申し訳ありませんが、私は間違って読んでいます。あなたのNGINX設定がリッスンしているので、8080へのルーティングです。いずれにせよ、NGINXは 'try_files'ディレクティブで失敗した場合、これをポート3000にプロキシします。したがって、ファイルを見つける必要があります。ログファイルに404が届いていますか? –

答えて

1

さて、私はそれが働いて得ました。上に掲載されたnginx.confファイルの設定は問題ありません。この問題は決してnginxの問題ではありませんでした。問題はノードサーバー上のファイルindex.jsにありました。

私はすべての静的ファイルを提供するためにnginxの着いたとき、私は私はかなり包まれたとして、それが戻ってこれまで私の方法をトラブルシューティングするために私にしばらく時間がかかったindex.js

app.use(express.static('Users')); // please don't comment this out thank you 

から次の行をコメントアウトnginxを理解する上で。その時の私の考えは、nginxが静的ファイルを提供しているとすれば、なぜそれらにサービスするために急行が必要なのでしょうか?しかし、この行がなければ、expressは明らかにすべてのファイルを提供しません。

は今急行が適切に静的なファイルを提供し、nginxのは、Webアプリケーションからすべての静的ファイルを処理し、ノードは、バックエンドからすべてのファイルを処理し、すべてが良いです。設定のためのガイダンスとAR7ためKeenan Lawrence

ありがとう!それは、Node.jsのように見えます