2

nginx(ポート8080でリッスン)の背後にあるgunicorn(Unixソケットでリッスン)で実行されているPyramidアプリケーションがあります。Pyramidビューがポート番号なしのHTTPFound(location='/')HTTP応答を返すLocation: http://example.host/と、ユーザーは「接続できませんでした」というエラーを受け取ります。非標準のポート番号を指定する場所、または(できれば)Locationヘッダーを生成するときにリクエストからポート番号を抽出するようにPyramidに指示する方法がわかりません。

アプリケーション構成からの抜粋:

[server:main]
use = egg:gunicorn#main
host = unix:%(here)s/run/server.sock
workers = 4

Nginx構成:

server {
    listen 8080;
    root /path/to/app;
    location / {
        proxy_pass http://unix:/path/to/app/run/server.sock;
        include proxy_params;
    }
    location /static {
        root /path/to/app/static;
    }
}
4

1 に答える 1

2

サーバーポートを取得するには、host_port

また、によると、実際にはヘッダーrfc2616で相対URIではなく絶対URIを送信する必要があります。Location

于 2012-06-14T05:53:54.570 に答える