問題タブ [starlette]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1754 参照

fastapi - Starlette/FastAPI でクライアント証明書の検証 (mTLS) を行う方法

かなり単純な API を実装するために FastAPI フレームワークを使用することを検討していますが、mTLS をサポートする必要があります。AFAIK FastAPI は Starlette に基づいています。Starlette でクライアント証明書を確認することはできますか?

0 投票する
2 に答える
4745 参照

static-files - FastAPI/Starlette で静的ファイルを提供する場合の相対 URL パス

次のようにファイルtest.htmlを提供する単純な FastAPI アプリケーションがあります。app/main.py

ディレクトリ構造は次のようになります。

app/これを変更して、とstatic/が兄弟である変更されたディレクトリ構造で動作するようにすることはできますか?

試してみreturn FileResponse('../static/test.html')ましたが、今のところうまくいきません。結果のエラーは、「RuntimeError: File at path ../static/test.html が存在しません」です。

0 投票する
0 に答える
1704 参照

python-3.x - Python バックエンド サーバーを使用してクライアント IP アドレスを取得する方法はありますか

問題のセットアップは次のようになります。

およびワーカー クラスfastapiを使用して実装および展開された私の Web アプリは、IP アドレスを持つ同じホスト上のプロキシの背後にあります(および VPN コンセントレータなどの他のリモート アプライアンスの背後にあります)。gunicornuvicornnginx172.31.x.x

nginx次のように構成されています。

gunicorn次のように構成されています。

オブジェクト ( という名前) を使用して、Web アプリをホストするサーバーのインターフェイス IP アドレス (つまり ) を出力fastapiします。starlette.requests.Requestrequestrequest.client.host172.31.x.x

request.headers["x-real-ip"], request.headers["x-forwarded-for"]両方とも、プロキシの前にアプライアンスの IP アドレスを出力します。これは、私の会社でよく知られているファイアウォール アプライアンスです。

私が聞きたいのは:

  1. X-Forwarded-ForHTTP ヘッダー全体を印刷して、中間プロキシ サービスを確認することはできますか?
  2. エンド ユーザーの実際のクライアント IP アドレスを取得する方法 (基本的に、既知のホワイトリスト IP アドレスを上書きします) ?