我必须运行使用flask和nginx作为反向代理的应用程序。我在/birthday/
位置提供静态文件时遇到问题。
location /{
proxy_pass http:127.0.0.1:6060;
}
出现问题的应用是。
location /birthday/
{
proxy_pass http:127.0.0.1:6061;
}
我已经厌倦了以下内容。
location /birthday/{
root /var/www/birthday_app/static;
try_files $uri @bday
}
location @bday{
proxy_pass http:127.0.0.1:6061;
}
服务http://127.0.0.1/birthday/static/image.png
时,我找不到状态。如何修复生日应用程序以提供静态文件。
答案 0 :(得分:1)
因此URI /birthday/static/image.png
指向/var/www/birthday_app/static/image.png
处的文件吗?在这种情况下,不能单独使用root
。您将需要使用rewrite...break
或alias
。
此外,如果以/birthday/static/
开头的URI提供静态文件,而以/birthday/
开头的所有其他URI反向代理上游,则可以将配置分为两个location
块。
例如:
location /birthday/static/ {
alias /var/www/birthday_app/static/;
}
location /birthday/ {
proxy_pass http://127.0.0.1:6061;
}
location
和alias
的值都应以/
结尾或都不以/
结尾。有关详细信息,请参见this document。
URI /birthday/foo
将在未经修改的情况下被上游传递到http://127.0.0.1:6061/birthday/foo
。如果您需要将URI映射到http://127.0.0.1:6061/foo
,请在/
语句后添加尾随proxy_pass
。有关详细信息,请参见this document。