带有proxy_pass的nginx位置path

我有以下问题,我试图把一个Django应用程序与运行Nginx的VPS上的一个gunicorn服务器。 我的nginxconfiguration如下所示:

upstream app_name { server unix:/path/to/socket/file.sock fail_timeout=10; } server { listen 80 default_server; listen[::]:80 default_server ipv6only=on; root /webapps/; server_name my_hostname.com; location / { proxy_set_header Host $http_host; } location /appname/ { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://app_name; } 

}

但是,当我导航到my_server.com/appname/我不断得到404错误。 对于Nginx来说,我还是个新手,有人能指出我如何设置/appname/ path的proxy_pass方向吗? 我应该指出,当/appname/位置replace为/ django应用程序运行正常。

你只需要一个用于proxy_pass的斜线:

 proxy_pass http://app_name/; 

它可以帮助你削减“appname”前缀,使配置如下所示:

 upstream app_name { server unix:/path/to/socket/file.sock fail_timeout=10; } server { listen 80 default_server; listen[::]:80 default_server ipv6only=on; root /webapps/; server_name my_hostname.com; location /appname/ { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://app_name/; }