我需要在Nginx中创build一个非常简单的映射,将子pathredirect到位于同一子网中的另一台服务器。
我试图把这个在服务器部分
location /tomcatapi/ { rewrite /tomcatapi/(.*) $1 break; proxy_pass http://192.168.0.3:8443; }
但所有我访问http://www.myservice.com/tomcatapi/是一个500错误页面和nginx日志文件我有这个错误:
the rewritten URI has a zero length
我在这个configuration文件中缺less什么?
让我们看看你的重写行:
rewrite /tomcatapi/(.*) $1 break;
你把括号中的位(即/tomcatapi/之后的所有内容)分配给$1 ,并用它作为你重写的URI的唯一内容。
在你的例子中, /tomcatapi/之后没有任何东西,所以重写最后是空的,这就是nginx呻吟的地方。
如果您将重写规则更改为
rewrite /tomcatapi/(.*) /$1 break;
那么你至less会在重写输出中结束。