私は、独自のWebアプリケーションをホストしている別のサーバーを表すエンドポイント上の異なるポートにプロキシの1つのURL /パスをリバースすることを検討しています。静的ファイルのNginxリバースプロキシ404
私はproxy_passを使用していますが、リソースが相対的なインスタンスであるため、静的ファイルは失敗します。
私は、例えば持っている - SERVER_NAME = myproxy.com:述べたように
location /app1/{
proxy_pass: http://192.168.1.1:8080/;
proxy_set_header Host 192.168.1.1;
}
location /app2/{
proxy_pass: http://192.168.1.1:8081/;
proxy_set_header Host 192.168.1.2;
}
location /{
proxy_pass: http://192.168.1.1:8080/;
proxy_set_header Host 192.168.1.1;
}
リバースプロキシは、APP2に関連した静的ファイルを除いて、素晴らしい作品。 App1の静的ファイルは正常に動作しますが、App2の静的ファイルの結果は404になります.Apple1のリソースファイルは/assets/app1.css
にあるため、意味があります。これは、場所が/
のリダイレクトがApp1ではなくApp2のリソースファイル全く異なっている/assets/app2.css
結果は404です。
したがって、/assets/app2.css
のApp2静的リクエストをそれぞれのプロキシロケーションに書き換える方法はありますか?以下のようなもの:location /app1/
からのルールによって、ファイル/assets/app1.css
(App1の)負荷が、その後location /
からルールによって/assets/app1.css
としてロード
location /app1/{
proxy_pass: http://192.168.1.1:8080/;
proxy_set_header Host 192.168.1.1;
}
location /app2/{
proxy_pass: http://192.168.1.1:8081/;
proxy_set_header Host 192.168.1.2;
*rewrite app2 static urls frome /assets/* to /app2/assets/*
}
location /{
proxy_pass: http://192.168.1.1:8080/;
proxy_set_header Host 192.168.1.1;
}
HTML本文のリンクを書き換えますか?はいの場合は、このhttp://nginx.org/en/docs/http/ngx_http_sub_module.htmlを試してください。しかし、バックエンドがファイルをgzipしていないことを確認してください。 –