2017-12-06 10 views
1

NGINX(一般的なホスティング)に慣れていますので、私の無知を許してください。私はlocalhost:4000で動作するPhoenix Webアプリケーションと、localhost:5123で動作するASP.NET Webアプリケーションを持っています。私はどちらかのWebアプリケーションに同じドメインからアクセスできるようにリバースプロキシを作成するNGINXを利用しようとしています。私のnginxの設定ファイルには、次のものが含まれます。NGINX 2番目のサーバーのリソースがロードされていません

server { 
    listen 80; 
    server_name example.com; 

    location/{ 
    proxy_pass http://localhost:4000; 
    } 

    location /test { 
    rewrite /test(.*) /$1 break; 
    proxy_pass http://localhost:5123; 
    } 
} 

は私がexample.com/testexample.com/とサーバー2にサーバー1にアクセスすることができるよ、しかし、サーバ2は、独自のCSS、JavaScriptと画像ファイルをロードすることはできません。サーバ1とサーバ2がNGINX設定を介して独自のリソースを利用できるようにする方法はありますか?

+0

スタックオーバーフローは、プログラミングおよび開発に関する質問のサイトです。この質問は、プログラミングや開発に関するものではないので、話題にはならないようです。ヘルプセンターの[ここではどのトピックを参照できますか](http://stackoverflow.com/help/on-topic)を参照してください。おそらく、[スーパーユーザ](http://superuser.com/)や[Unix&Linux Stack Exchange](http://unix.stackexchange.com/)の方が良いかもしれません。 – jww

答えて

0

あなたは正しい方法です。あなたの第2のサービスに欠けているいくつかの行があります。

が、これはこれを達成するための最良の方法である場合、私は知らない...

location /test { 
    rewrite    /test/(.*) /$1 break; 
    rewrite    ^/test$ /test/ permanent; 
    proxy_pass    http://localhost:5123/; 
    proxy_redirect  //test/; 
    proxy_set_header  Host $host; 
    proxy_buffering off; 
} 

...と

location /test { 
    rewrite /test(.*) /$1 break; 
    proxy_pass http://localhost:5123; 
} 

を交換してください。以前私はこの設定を使って私のサーバーにetherpadサービスを実装しました。その時私はサブドメインを使う選択肢がなかった。とにかく - あなたの2番目のサービスのサブドメインを使用する方が良いでしょう。

+0

お返事ありがとうございます。私はあなたの編集をして、nginxサービスをリロードしましたが、私は何の変更も見ません。リソースはまだ '/ test'から抜けています。 – jsonkenl

+0

@jsonkenlブラウザを再起動しましたか? (おそらくサイトがまだブラウザにキャッシュされているかもしれません) – rweisse

+0

はい、Firefoxの新しいインスタンス(現在Chromeを使用しています)と同じ問題を開いたことさえあります。 – jsonkenl

関連する問題