2017-09-27 3 views
0

私はアングル4プロジェクトをホストするためにドッカーコンテナを使っています。私はクライアントと私のAPIを媒介するnginxサーバーを持っています。このlocalhost/coffeeのようなもので私のフロントエンドにアクセスする方法を見つけることができません。ドッカーポートの後にプレフィックスを追加することは可能です

代わりに、 docker run -p 9000:80 image

をドッキングウィンドウ 127.0.0.1:9000

にアクセスするための推奨される方法の私は、場所へのアクセス権を持って、私は

docker run -p 9000/coffee:80 image. 

127.0.0.1:9000/coffee のために、このようにそれを行うことができますよ、ライブサーバ上のポート9000で開かれているローカルホスト/コーヒー。公開されたポートドッカーポートにプレフィックスコーヒーを追加する必要があります。

+0

http{ server { listen 80; location /coffee { proxy_pass http://yourbackendcontainer:backendport; } } 

以下Postに設定を変更しますでしょう

あなたはnginxの設定も –

答えて

3

ドッカーポートの後にプレフィックスを追加することはできません。ポートのみをマップできます。 localhost/coffeeのようなフロントエンドにアクセスするには、このシナリオを処理するようにnginxを設定します(バックエンドサーバに/ coffeeとプロキシリクエストとして場所を設定します)。

0

@ Girdhar Sojitraが正しい。リバースプロキシとしてnginxを使用する必要があります。私はいくつかの通知を追加したい。 Jwilder nginx-proxyは、バックエンドごとにサブドメインを自動的に設定できます。

0

ポートとリクエストのURLは2種類あります。ポートはネットワーク通信用で、リクエストURLはウェブサーバー用です。だからアプリを取得している場合は、

docker run -p 9000:80 image 

を実行したときにlocalhost:9000を務め、あなたがlocalhost:9000/coffeeにそれを変更する必要があり、この変更は、ドッキングウィンドウの実行コマンドでコードやWebサーバーの設定に移動していないする必要があります。

あなたのバックエンドへのURLの一部として渡されることも /coffee/が必要な場合はそのためのシンプルなnginxの設定ファイルが

http{ 
server { 
    listen 80; 

    location /coffee/ { 
     proxy_pass http://yourbackendcontainer:backendport/; 
    } 
} 

、あなたは

関連する問題