我的服务器有CORS问题,在开发阶段会造成很多痛苦。以前我使用Windows时,IIS重写模块很容易。就像是;
<rules>
<rule name="ReverseProxyInboundRule3" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTP_URL}" pattern="^.*(pattern1|pattern2|pattern3|pattern4).*$" />
</conditions>
<action type="Rewrite" url="https://example.com/{R:1}" logRewrittenUrl="true" />
</rule>
</rules>
所以说我的环境中的电话是;
localhost:8080/folder1/folder2/folder3/pattern1?param1=val1¶m2=val2¶m3=val3
请求发送到
https://example.com/pattern1?param1=val1¶m2=val2¶m3=val3
我尝试了一些基本的重写技巧,但遗憾的是无法使其工作,而不是在nginx的重写语法上经历过。
答案 0 :(得分:0)
经过一些试验(有些是乐观的选择)我找到了如何做我想要的。
rewrite ^.*(/pattern1/.*)$ $1 last;
location /pattern1 {
proxy_pass https://example.com;
}
请注意location block
或proxy_pass
指令上没有尾部斜杠。此外,关键字last
在重写指令结束时使用,因为我是从location
块