Nginx proxy_pass在没有尾部斜杠的情况下不工作

Nginx proxy_pass在没有尾部斜杠的情况下不工作,nginx,mod-proxy,proxypass,Nginx,Mod Proxy,Proxypass,我在这个问题上做了一些搜索,并找到了其他类似的帖子,但没有一个解决方案对我有帮助 我的Nginx配置中有一个location条目,其中包含一个proxy\u pass规则,但它似乎只在我向URL添加一个尾随斜杠时起作用 这是定位节 location /webApp { proxy_pass https://webapp.service.consul/webApp; proxy_set_header Host webapp.servic

我在这个问题上做了一些搜索,并找到了其他类似的帖子,但没有一个解决方案对我有帮助

我的Nginx配置中有一个
location
条目,其中包含一个
proxy\u pass
规则,但它似乎只在我向URL添加一个尾随斜杠时起作用

这是定位节

    location  /webApp {
        proxy_pass         https://webapp.service.consul/webApp;
        proxy_set_header   Host webapp.service.consul;
        proxy_intercept_errors on;
    }
您可以看到,当我使用
curl
并转到
/webApp/
(带尾随斜杠)时,它工作正常-cookie设置如预期:

MacBook-Pro:~ $ curl -I https://example.com/webApp/
HTTP/1.1 302 Found
Server: nginx/1.9.11
Date: Thu, 28 Apr 2016 14:45:55 GMT
Content-Length: 0
Connection: keep-alive
Set-Cookie: JSESSIONID=440B8D729469BBD80FC92796754D9475; Path=/providerApp/; HttpOnly
Location: http://webapp.service.consul/webApp/login.do;jsessionid=440B8D729469BBD80FC92796754D9475
但是,当我转到
/webApp
(没有尾随斜杠)时,我找到了一个
302
,但我没有被重定向到
/webApp/login。请像我使用尾随斜杠那样执行
页面:

MacBook-Pro:~$ curl -I https://example.com/webApp
HTTP/1.1 302 Found
Server: nginx/1.9.11
Date: Thu, 28 Apr 2016 14:48:44 GMT
Connection: keep-alive
Location: http://webapp.service.consul/webApp/
我尝试添加重写规则,例如:

rewrite^(.*[^/])$$1/永久

但这似乎没有什么不同。这是以前的工作,我没有真正弄乱这个位置节,所以我想知道它是否与我的其他位置之一有关


有什么提示吗?

您实际上并没有指定它以何种方式不起作用,但这听起来像是一个应该由您解决的问题


(但是,最好的解决方案可能是确保在其余配置文件中正确指定主机名。)

我想您应该修复您的领事app@Alexey你是什么意思?当添加尾随斜杠(或完全绕过Nginx)时,concur应用程序工作正常。此重定向由concur而不是Nginx发出。顺便说一句,显示完整的nginx配置,我不明白它是否真的将您重定向到
webapp.service.consul
?我想我真正想做的是将
/webapp
重定向到
/webapp/login。在第一次访问时执行
,然后发送到proxy\u pass。可能吗?
proxy_redirect http://webapp.service.consul/webApp/ http://example.com/webApp/