9

ポート80でApacheを介して提供されるPHPアプリケーションがあります。ポート3000でスタンドアロンで実行されているnodejsアプリケーションがあります。PHPによって生成されたクライアント側コードからnodejsアプリケーションにajaxリクエストを送信したいと思います。問題は、同一生成元ポリシーが別のポートを許可しないことであり、ポート80でnodejsとapacheの両方を実行することはできません。

私が理想的にやりたいのは、クライアントの観点から、両方をポート80で実行しているように見せることです。nodejsアプリケーションへの再ルーティング/エイリアス/特定のリクエストを再ルーティングするようにapacheを設定するにはどうすればよいですか?

それが理にかなっていることを願っています。注:これが可能かどうか、または私が正しい方法でそれを行っているかどうかはわかりません-提案を受け入れてください。

4

1 に答える 1

10

これは、リバースプロキシを使用して行うことができます。mod_proxyを追加し、vhostファイルのメインドメインの下に場所を設定して、ローカルホストのポート3000にプロキシします。基本的に次のようなものです。

<VirtualHost *:80>
 ServerName example.com
 <Location /api>
   ProxyPass /api http://localhost:3000/
   ProxyPassReverse /api http://localhost:3000/
 </Location>
</VirtualHost>
于 2011-06-25T19:29:39.630 に答える