私はいくつかのWebアプリケーションを実行しているCentOSボックスを持っており、Apacheを使用してさまざまなアプリケーションへの要求をプロキシしています。私は働くことができないようなErlang Nitrogenのアプリケーションを除いて、すべて動作しています。Erlang NitrogenでApache mod-proxyを使用する
私は標準的な方法でNitrogenアプリを実行しています。マシン上でhttp://localhost:8000にローカルでアクセスできます。私はwgetを使ってこれを確認しました。ここで
は、私が使用しようとしていますApacheの設定ファイルである:
ProxyRequests Off
ProxyPreserveHost On
<Proxy http://my-ip:8000/*>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /erlang http://my-ip:8000/
ProxyPassReverse /erlang http://my-ip:8000/
ProxyPassReverse /erlang http://my-ip/
この設定は、他のアプリケーションは、そののルートに展開されていないことを除いて、システム上の他のすべての成功した作業のプロキシに似ています窒素のようなサーバーはやっているようだ。
その結果、基本ページはWebブラウザに正しくダウンロードされていますが、付随するすべてのリソースは正しくダウンロードされていません。これは私にjavascriptが正しく機能しない非スタイルのページを提供します。ここで
は、Apacheからのログです:
x.x.x.x - - [timestamp] "GET /erlang HTTP/1.1" 200 2884
x.x.x.x - - [timestamp] "GET /nitrogen/jquery.js HTTP/1.1" 404 484
x.x.x.x - - [timestamp] "GET /nitrogen/jquery-ui.js HTTP/1.1" 404 484
x.x.x.x - - [timestamp] "GET /nitrogen/livevalidation.js HTTP/1.1" 404 484
x.x.x.x - - [timestamp] "GET /nitrogen/nitrogen.js HTTP/1.1" 404 484
x.x.x.x - - [timestamp] "GET /nitrogen/bert.js HTTP/1.1" 404 484
x.x.x.x - - [timestamp] "GET /nitrogen/jquery-ui/jquery.ui.all.css HTTP/1.1" 404 484
x.x.x.x - - [timestamp] "GET /nitrogen/nitrogen.css HTTP/1.1" 404 484
x.x.x.x - - [timestamp] "GET /css/style.css HTTP/1.1" 404 484
私は私のプロキシとしてApacheを使用するためのハード要件を持っている - 私はちょうどこの窒素アプリケーションの作業を取得するために他のすべてのアプリケーションをリセットするつもりはありません。ファイアウォールでポート8000を開くことも問題になりません。
残りのアプリケーションに影響を与えない限り、Apacheモジュール(mod-rewriteなど)またはApache設定を使用することはできます。また、Nitrogenアプリケーションの設定を変更して、Apacheでよりうまく動作するようにすることもできます。
どのように私の窒素アプリケーションのプロキシ/リバースプロキシにApacheを使用できますか?