2017-09-13 12 views
0

ホストでは、ポート4012にドッキングコンテナがあり、ドッカーコンテナにはwebappがポート3000(0.0.0.0:4012-3000/tcp)で動作します webappにアクセスすると、単にhttp://hostname:4012に行き、ウェブページが正常に表示されます。 http://hostname/metricsにアクセスして、私のブラウザから同じWebページを実行したいと考えています。NGINXリバースプロキシとウェブアプリケーションを実行しているドッカーコンテナ

私は単にホスト上のnginx.confに位置を追加することによって動作するようにこれを持っているが:
位置/メトリック{
http://localhost:4012 proxy_pass。
}

すべての負荷が (私はhttp://localhost:4012http://hostname/metricsで同じHTMLソースコードを参照)のindex.htmlですが、http://hostname/metricsは、Webアプリケーションを実行するために必要なjavascriptの資産をロードしないこと。 /メトリクスに行くプロキシバージョンは、次のようにロードしようとしますが http://hostname:4012/assets/styles.csshttp://hostname/assets/styles.css

それは資産に/指標を追加していない私はそうのような非プロキシサイトの負荷の資産を参照してください開発ツールから index.htmlを取得するように... 私はここで何が欠けていますか? 何かを意味する場合、webappは、ドッキング・コンテナのポート3000をlistenするnodejs expressサーバー上で実行されています。

答えて

0

あなたはアプリがそうHTMLに<base>タグを追加する、そのよう

location /metrics/ { 
    proxy_pass http://localhost:4012/; 
    sub_filter_once off; 
    sub_filter 'http://localhost:4012/' '$scheme://$host/metrics/'; 
    sub_filter '<head>' '<head>\n<base href="hostname:4012">'; 
} 

を働く/metrics/css/cssを変えることができますようにする必要があります。その後、絶対URLもsub_filterを使用して変更されます。

+0

これは残念ながら役に立たなかった – pete

+0

問題を詳しく説明しますか?あなたはchromeの開発ツールをチェックして、それがURLを修正したかどうかを確認する必要があります –

+0

変更はありませんでした。 devツールの資産のURLに/ metrics /にこの変更が追加されていない – pete

関連する問題