EC2 インスタンスで Node.js サーバーのプロキシを設定しようとしているので、次のような方法でアクセスできますhttp://*.amazonaws.com/node
。 * は残りの URI です。/etc/httpd/conf/httpd.conf
次のように編集してプロキシを設定しました。
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /node http://*.amazonaws.com:3000
ProxyPassReverse /node http://*.amazonaws.com:3000
私の Node.js server.jsファイルは次のようになります。
var port = process.env.PORT || 3000;
var host = '*.amazonaws.com' || process.env.HOST || '127.0.0.1';
そのため、すべてを起動して実行すると、/nodeにアクセスできますが、Node.js の/publicディレクトリはドキュメントのルート ディレクトリとして使用されていないため、index.htmlに含まれていると想定されているため、すべてのファイルに対して 404 が返されます。 /publicディレクトリ。たとえば、Firebug は、http://*.amazonaws.com/javascripts/rails.js
および他の 3 つのファイルに対して 404 を報告します。これは、これが Node.js の/publicディレクトリにヒットしていないことを意味します。
index.html ファイルのパスを編集すると、すべてが機能しますが、それを行う必要はありません... また、httpd.conf で ProxyPass 構成を取り出し、ノードにアクセスするだけの場合server from 、それは機能します...しかし、理想的には、それを行う必要はなく、 /nodehttp://*.amazonaws.com:3000
を実行できるようにしたいと考えています。
私が知りたいのは、プロキシが正しく構成されているか、そうでない場合は、 /nodeにアクセスすると、要求されたすべてのファイルがリダイレクトされるように修正するにはどうすればよいかということです。