私は、Apache で実行される REST のような API と通信する node.js で実行される管理者アプリを含むプロジェクトを継承しました。[LM]AMP には精通していますが、node.js はまったくの初心者です。
MAMPであるローカルマシンで環境全体をセットアップしようとしています。
アプリホストが実サーバーを指す元の設定 (「build」というディレクトリの下のノード構成ファイル内) を使用すると、node.js サイトは正しく機能します。
var options = underscore.defaults(options, {
...
port: 8000,
proxy_app: true,
app_host: 'www.example.com',
app_port: 80
});
ブラウザで、http://localhost:8000/app/do/something
有効な json を返します。
(ここでの私の理解は限られていますが、ノードがこのリクエストをアプリが実行されているApacheサーバーにプロキシしていると思います)。
ただし、ローカルサーバーを指すと...
var options = underscore.defaults(options, {
...
port: 8000,
proxy_app: true,
app_host: 'www.mylocalexample.com',
app_port: 80
});
ここでhttp://localhost:8000/app/do/something
、404 Not Found を返します。
したがって、この node.js 構成ファイルの唯一の違いは、有効なホストです (ローカルホストでアプリ API を直接呼び出すと、有効な json が返されます)。何らかの理由で、node.js によってプロキシされたリクエストが MAMP サーバーに送信されていないように見えるか、送信されているのに MAMP が拒否しています。Apache ログにエラーはありません。
何か案は?Firebug もあまり使用方法を教えてくれないので、これをさらにデバッグする方法がわかりません。私の本能は、それが私の MAMP の Apache の設定であるに違いないと言っていますが、それが何であるかはわかりません。