我一直在努力为我们的用例设置Nginx。
当我使用以下配置设置Nginx时:
location /dep-core {
proxy_pass http://node-server:7070/;
}
并使用以下端点调用服务器:
<END-POINT>/dep-core/api/login
呼叫被重定向到
<ADDRESS-AFTER-RESOLUTION>//api/login
带有两个// s。
并且当我在7070之后删除proxy_pass中的尾随/时:
location /dep-core {
proxy_pass http://node-server:7070;
}
呼叫被重定向到
<ADDRESS-AFTER-RESOLUTION>/dep-core/api/login
加上前导的/ dep-core。
我希望我的呼叫将呼叫重定向到:
<ADDRESS-AFTER-RESOLUTION>/api/login
实现这一目标的标准方法是什么?
答案 0 :(得分:0)
要从/dep-core/foo
到/foo
正确翻译,location
指令需要结尾/
。
例如:
location /dep-core/ {
proxy_pass http://node-server:7070/;
}
有关详细信息,请参见this document。
要将/dep-core
转换为/
,可以在问题的第二部分中使用带有聪明正则表达式的rewrite...break
。但是一个简单的解决方案是为该单边情况添加完全匹配location
。
例如:
location = /dep-core {
rewrite ^ $uri/ last;
}
location /dep-core/ {
proxy_pass http://node-server:7070/;
}