我正在尝试将反向代理中的几个位置映射到网络服务器上的单个位置。我的配置看起来像这样......
location ~ ^/(static|images)/(.*)$ {
proxy_pass http://server:8080/static/$2;
}
此配置有效。
我尝试使用rewrite
和代理通行证。
location ~ ^/(static|images)/(.*)$ {
rewrite ^/(static|images)/(.*$) /static/$2;
proxy_pass http://server:8080;
}
我现在收到以下错误。
rewrite or internal redirection cycle while processing <assetname>
由于重写规则在我的正则表达式中有一个位置,因此我将Web服务器位置更改为k-static
。现在我看到nginx正在我的本地文件夹(open() "/var/www/html/k-static/assents/p388.img" failed (2: No such file or directory)
)中查找该文件,而不是将请求转发给webserver。
我的目标是将/static/
或/images/
附带的任何请求转发给http://server:8080/static
。这可以通过具有两个位置块或第一个configuratino来实现。我试图在我的nginx配置中避免重复的位置块。我非常感谢一些重写规则的帮助。为什么检查本地文件夹而不是将请求转发(代理)到远程服务器?