0

異なるポートを介して同じマシン上で実行されている 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;
        }
4

2 に答える 2

0

なぜ^記号を使うのですか?それを削除するだけでうまくいくと思います:

location /server2 {
        proxy_pass http://127.0.0.1:666;
    }
于 2012-12-13T03:58:11.953 に答える