1

django (gunicorn) アプリの前で nginx を実行しています。電話をかけたい:

api.mydomain.com

リダイレクト先:

ローカルホスト:8080/api

私は今これを持っていますが、これは明らかに機能しません:

server {
    listen     80;
    server_name  api.mydomain.com;
    proxy_set_header  X-Real-IP  $remote_addr;
    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;

    location / {
        index  index.html index.htm;
        proxy_pass  http://localhost:8080/api;
    }
}

ありがとう!

4

2 に答える 2

3

プロキシパスと書き換えを組み合わせることができます

server {
    listen     80;
    server_name  api.mydomain.com;
    proxy_set_header  X-Real-IP  $remote_addr;
    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;

    location / {
       index  index.html index.htm;
       rewrite ^(.*)$ /api$1 break;
       proxy_pass   http://localhost:8080;
    }

}
于 2013-03-22T20:55:00.113 に答える
1

このような新しいロケーションブロックを追加します

location ~ api.mydomain.com
{
    fastcgi_pass localhost:8080;
    fastcgi_param SCRIPT_FILENAME $document_root/Django script's folder's name/$fastcgi_script_name;
}
于 2013-03-22T20:52:06.713 に答える