3

データフローは次のとおりです: http <--> nginx <--> uWSGI <--> python webapp

nginx には http2uwsgi transfer があり、uWSGI には uwsgi2http があると思います。

uWSGI を直接呼び出して Web アプリケーションで API をテストしたい場合はどうすればよいですか?

実際に私はピラミッドを使用しています。.ini で [uwsgi] を設定し、uWSGI を実行するだけです。しかし、uWSGIがwebapp機能を正常に保持しているかどうかをテストしたいのですが、uWSGIソケットはhttpから直接到達できません。

4

3 に答える 3

11

使ってみてuwsgi_curl

$ pip install uwsgi-tools

$ uwsgi_curl 10.0.0.1:3030 /path

または、さらにいくつかのリクエストを行う必要がある場合はuwsgi_proxy、同じパッケージから試してください

$ uwsgi_proxy 10.0.0.1:3030
Proxying remote uWSGI server 10.0.0.1:3030 "" to local HTTP server 127.0.0.1:3030...

http://127.0.0.1:3030/でローカルに参照できます。

アプリケーションが特定のHostヘッダーのみを許可する場合は、ホスト名も指定できます

$ uwsgi_curl 10.0.0.1:3030 host.name/path

$ uwsgi_proxy 10.0.0.1:3030 -n host.name

アプリケーションに静的ファイルがある場合、-s引数を使用してそのようなリクエストをフロント サーバーにリダイレクトできます。必要に応じて、別のローカル ポートを指定することもできます。

于 2015-10-01T17:35:26.573 に答える
1

まず、これらの質問を検討してください。

  • uWSGIはどのポートで実行されていますか?
  • uWSGIは自分のマシンまたはリモートマシンで実行されていますか?
  • リモートマシンで実行されている場合、コンピュータからポートにアクセスできますか?(iptablesルールは外部アクセスを禁止する場合があります)

アクセス権があることを確認した場合はhttp://hostname:port/path/to/uWSGI、直接APIアクセスを呼び出すことができます。

于 2012-09-07T08:43:14.600 に答える