異なるポートを介して同じマシン上で実行されている django とフラスコのアプリケーションがあります。
Django はサーバー:8088 で実行されます。Flask はサーバー:666 で実行されます。
NGINX.conf には、次のコードがあります。
location / {
proxy_pass http://127.0.0.1:8088;
}
location ^/server2 {
proxy_pass http://127.0.0.1:666;
}
Django はこのセットアップで 1 年以上正常に実行されていますが、フラスコは新しく追加されました。Flask の URL の 1 つにアクセスしようとすると、「この URL はこのサーバーに存在しません」というエラーが表示されるか、場合によっては 500 エラー (いじっているとき) が表示されます。
次のように特定のフラスコ URL の位置情報を書き込む場合:
location /server2/splash {
proxy_pass http://127.0.0.1:666/splash;
}
それは機能しますが、フラスコ アプリケーションのすべての URL に個別の位置情報を書きたくないことは明らかです。
stackoverflow に関する既存の Nginx の場所の投稿の多くを調べましたが、機能させることができませんでした。何か案は?
ありがとう!
編集
これは私が達成しようとしているものの例ですが、各 URL の個別のマッピングではなく、すべての URL をカバーする単一のマッピングが必要です。
location /server2{
proxy_pass http://127.0.0.1:666/splash;
}
location /server2/split {
proxy_pass http://127.0.0.1:666/split;
}
location /server2/export {
proxy_pass http://127.0.0.1:666/export;
}
location /server2/import {
proxy_pass http://127.0.0.1:666/import;
}